这是一个单文件HTML应用,包含了你要求的所有功能。它模拟了一个在线学习平台,并在后台悄悄运行一套行为分析算法。
### 使用说明
1. 将代码保存为 `.html` 文件(例如 `learning_monitor.html`)。
2. 用浏览器打开。
3. **尝试不同的行为模式**来测试算法:
* **模拟划水**:在“看视频”时频繁切换到其他标签页,答题时疯狂点击(秒选),鼠标长时间不动。
* **模拟学不会**:一直盯着屏幕(不切屏),答题思考很久(时间长)但最后选错。
* **模拟学霸**:不切屏,答题速度适中且正确。
### 源代码
```html
全方位智能学习监测系统
```
### 设计思路解析
为了满足你关于判断“学不会”还是“在划水”的要求,我在代码中实现了以下逻辑:
1. **监测机制 (Monitoring):**
* **`visibilitychange`**: 这是检测划水的核心。如果用户在播放视频或答题时切换了标签页(去回微信、看B站),`tabSwitches` 计数器会增加。
* **`mousemove` & 时间戳**: 记录鼠标最后移动的时间。如果在视频播放期间鼠标超过10秒未移动(且没有切屏),可能是在发呆或人不在电脑前。
* **答题计时器**: 记录每一道题从展示到点击选项的时间差。
2. **算法逻辑 (The Algorithm):**
* **划水 (Slacking) 判定**:
* **高频切屏**: 只要切屏次数多,划水指数直接飙升。
* **秒选错误 (Careless Error)**: 如果答题时间小于 1.5秒 且 **选错**,系统判定为“瞎蒙/乱点”,大幅增加划水指数。
* **鼠标长时间静止**: 辅助判断。
* **学不会 (Struggling) 判定**:
* **低划水指数**: 用户没有切屏,也没有乱点(答题时间正常或较长)。
* **低正确率**: 尽管很认真(没切屏,思考时间长),但还是选错了。
* **长耗时**: 平均答题速度慢,说明在犹豫/思考。
3. **界面设计 (UI):**
* 使用深色模式(Dark Mode)模拟专业的学习/编程环境。
* 添加了一个 **"行为监测中"** 的闪烁红点,给用户心理暗示(霍桑效应),增加趣味性。
* **伪视频界面**: 使用进度条模拟视频播放,强制用户等待几秒钟,这是诱发“划水”行为的最佳时机(用户通常会在等待时切屏)。
你可以通过不同的操作方式来验证报告的准确性。