Recover stalled platform progress and missing saves with bounded reloads

This commit is contained in:
2026-10-12 18:08:54 +08:00
parent 1f6706efbb
commit 27293ad195
8 changed files with 173 additions and 25 deletions
+7 -4
View File
@@ -2,7 +2,7 @@
用于 [学员中心课程页](https://icampus.yunyinsh.com/course/) 的 Tampermonkey(篡改猴/油猴)脚本。支持 **2倍速播放、全过程静音、自动续播、测验作答和交卷、按平台合格状态换课、后台播放,以及整体进度和完成时间估算**。
当前版本:**1.4.2**。普通使用只需要桌面 Chrome 和篡改猴,无需安装 Node.js、Git 或运行命令。
当前版本:**1.4.3**。普通使用只需要桌面 Chrome 和篡改猴,无需安装 Node.js、Git 或运行命令。
**[获取脚本](icampus-study-helper.user.js) · [完整安装与使用说明](2倍速脚本使用说明.md) · [更新记录](CHANGELOG.md)**
@@ -12,7 +12,7 @@
2. 地址栏输入 `chrome://extensions`,找到 Tampermonkey →“详情”,按下表检查设置。
3. 在仓库打开 [icampus-study-helper.user.js](icampus-study-helper.user.js),使用文件页面的“下载”或“原始文件 / Raw”保存完整脚本。
4. 点击篡改猴图标 →“管理面板”→“实用工具”→“从文件导入 / Import from file”,选择下载的 `.user.js`,按提示安装。找不到该入口或不接受文件时,使用下方复制方法。
5. 登录课程网站并刷新,确认左下角显示 **“2倍速学习助手 · 1.4.2”**。打开课程列表,展开目标分组,选择范围并点击“开始”。停止时点击“人工取消”。
5. 登录课程网站并刷新,确认左下角显示 **“2倍速学习助手 · 1.4.3”**。打开课程列表,展开目标分组,选择范围并点击“开始”。停止时点击“人工取消”。
扩展应先在普通窗口安装,再按需允许在无痕窗口运行;参考 [Chrome 官方扩展帮助](https://support.google.com/chrome_webstore/answer/2664769?hl=en)。
@@ -47,7 +47,8 @@
| 课程完成判断 | **学习进度100%+平台判定测验合格**才换课;无需测验的课程只核对学习完成 |
| 持续启用 | 开始后保持启用,同一标签页刷新可接续;“人工取消”清除启用状态 |
| 后台播放 | 默认开启“切标签页继续播放”,保留网站正常播放和保存流程 |
| 面板收纳与拖拽(新增) | 点击“收起”变为状态条,点击“展开”恢复;拖动标题或收纳条移动,刷新记住位置和状态 |
| 停滞自动刷新(新增) | 检测视频停滞、缺少保存确认、平台保存位置与进度不动及结束后未确认;超时刷新并接续,同一视频每次运行最多一次 |
| 面板收纳与拖拽 | 点击“收起”变为状态条,点击“展开”恢复;拖动标题或收纳条移动,刷新记住位置和状态 |
| 全过程静音 | 勾选后立即静音,切换课程/视频和播放器重建后继续静音,刷新保留偏好 |
| 自动播放恢复 | 有声自动播放被拒绝时可尝试一次静音播放;仍失败则等待点击,避免定时空转 |
| 整体进度 | 完成百分比、已完成/总课程数、平均学习进度、待合格测验数 |
@@ -77,6 +78,8 @@
“已启动 · 等待恢复”仍是启用状态;普通等待会定期检查或随页面变化接续。不支持的题型、登录失效、自动播放仍受限等情况需人工处理。手动暂停视频后会等待手动恢复播放;更换范围前先“人工取消”。
自动运行时会检查卡住情况:前台视频60秒不推进、75秒无保存确认、平台保存位置与学习进度120秒均不推进,或视频结束25秒仍未确认完成,会触发刷新恢复;加载90秒或启动20秒卡住也会恢复。后台相关等待窗口延长至至少180秒,回前台后给保存20秒恢复时间。平台百分比取整不变但保存位置前进时,不按停滞处理。所有原因共享每段视频每次运行一次的刷新额度,刷新后保留额度和启用状态;仍失败则等待人工处理。手动暂停、答题等待、权限和登录问题不会被这些进度检测强行刷新。
**仓库推送不会自动更新浏览器已安装脚本。** 更新时重新导入最新文件,或在原脚本中替换全部代码;然后分别刷新实际使用的普通/无痕课程标签页并检查面板版本。只启用一份助手,停用旧的“学员中心 · 本地网络诊断”等测试脚本。
## 后台运行与边界
@@ -89,7 +92,7 @@
## 验证与开发
目前 **101项本地行为测试**,覆盖播放、测验、恢复、后台、完成判断、统计、自动播放恢复、全过程静音及面板操作。面板收纳、拖动、刷新恢复和窗口边界另通过本地模拟页面的Chrome浏览器验证(1280×900、360×640),无相关控制台错误。尚未在真实课程页验证新版面板;全过程静音、统计、预测和静音回退也尚未完成所有课程及长期后台的真实端到端验证。
目前 **116项本地行为测试**,覆盖播放、测验、恢复、后台、完成判断、统计、自动播放恢复、全过程静音、面板操作及进度停滞恢复。新增15项回归覆盖保存确认丢失、平台计数不推进、正常取整、后台宽限、刷新接续和共享刷新额度。面板在1.4.2时另通过本地Chrome模拟页面验证(1280×900、360×640)。新停滞检测尚未在真实课程页验证;也尚未完成全部课程及长期后台的真实端到端验证。
开发验证需要 Node.js 18+,无需安装第三方依赖: