研修网 · 学习助手(自动连播 + 学情看板)
版本 v3.1.1 · 作者 爱国者 · 适用站点 ipx.yanxiu.com
反馈群:https://qm.qq.com/q/Kacqy4da26
一句话简介
教师研修网(中国教师研修网)辅助油猴脚本:帮你自动连播刷课 + 学情一目了然,全程只做你本来就要点的「播放 / 下一节」,学时是真看出来的,不伪造任何数据。
📦 下载与安装
前提:浏览器装好 Tampermonkey(篡改猴) 扩展。
浏览器
安装
Chrome / Edge
扩展商店搜 Tampermonkey
360 极速浏览器
扩展中心搜 Tampermonkey
安装脚本(2 步):
- 下载本仓库的 研修网学习助手.user.js
- 把文件拖进浏览器窗口 → 油猴弹出安装页 → 点「安装」
验证:打开研修网任意页面,右下角出现蓝色 「研」 按钮 = 安装成功。
✨ 核心功能
功能
说明
🎬 自动连播
静音播放 → 一节播完自动下一节 → 本门播完自动下一门 → 队列跑完自动停
📄 文本/文档段自动推进
按平台 sgmd 字段正确识别文档段(1/2=文档,3+=视频),混合课程(视频+文本)也能顺畅往下走;文本段自动滚动阅读浮层,等平台「已完成本节内容」后继续
📜 自动阅读课程指南/专家介绍
一键「读指南」自动滚动长文本;可设「本门学完自动读」(仅信息区,不影响学时)
⚡ 加速学习(合规看板)
实时显示平台真实心跳上报次数与累计位置;明确告知「最快路径 = 1 倍速真实观看 + 自动连播 + 后台保活」
📖 课程信息回显
播放页面板显示课程名 / 教师 / 全部章节名 / 每节时长,当前节高亮
📎 课件 / 文稿直达
每节带类型徽标;视频段附着的 Word/PDF/PPT 资料点 📎 新标签页打开,文稿点 📄 打开
⏭ 一键跳章 / 断点续播
点任意章节直接切;重进课程自动从第一个未学段开始,已学完的自动跳过
💤 后台保活 + 看门狗
切到别的窗口不被冻结;播放页意外关掉,学习空间页自动重新拉起
📊 学情看板
1440 分钟达标进度、折算得分、最短达标排程、课程库搜索/排序、CSV 导出
🧪 随堂测识别与提醒
自动识别「看课N%开启随堂测」的测验型课程,面板标注 随堂测 @95%(需本人作答);进入时提示、快到阈值前提前提醒、弹题时响铃通知并暂停连播(不代答)
🔔 声光提醒
平台弹验证题时响铃 + 桌面通知,你处理完自动继续
🖼 精美界面
玻璃拟态 + 深蓝金橙渐变,面板可拖动、可缩放,位置和大小自动记忆
🆕 v3.1.1 本版修复(重点)
问题 1:设置里「自动评分 5 星」没反应 —— 评分弹层出现时,星星点不亮,「提交」按钮一直是灰的,点了也白点。
根因(翻平台源码拿到的):评分组件 rating.vue 的数据里 pointerAtLeftHalf 的初值是 true,而它的 changeValue() 是这么写的——
changeValue(e){
this.allowHalf && this.pointerAtLeftHalf
? this.$emit('input', this.currentValue) // ← currentValue 初值 0
: this.$emit('input', e) // ← e 才是"第几颗星"
}
而 pointerAtLeftHalf 只在 mousemove 里才会被更新。旧版自动评分只发了一个孤零零的 .click(),从来没派发过鼠标移动 → 该标志一直是 true → 永远提交 currentValue(0)→ 弹层里 rate 恒为 0 → 提交 永久禁用。
修复 1:改为先按真实指针轨迹在目标星右半区派发 mousemove(2*offsetX > 图标宽,从而取整星而非半星),再补 click;随后校验「提交」是否解禁再提交,并带 Vue 实例兜底。
真机 A/B 实测(同一门课、同一个弹层):
旧逻辑 → rate=0、提交 disabled=true、5 颗星全是 icon-star__default(复现失效)
新逻辑 → rate=5、提交 disabled=false、5 颗星全变 icon-star__checked、弹层已提交关闭 ✅
问题 2:随堂测弹出来就卡住,想让它关掉继续播。
修复 2:新增「随堂测自动关闭续播」(默认开)。脚本识别随堂测弹层(用 multiple/index.vue 独有的 .form-answers .close「×」按钮做特征),自动点它关闭弹窗并立刻恢复播放。
- 平台源码里该「×」就是它自己提供的关闭入口:close() → $emit('close') → 父组件 isShowAnswerCard = false;
- 关闭后平台不会自动继续播(heartbeatPause() 把视频暂停了),所以脚本立刻 play();播放一恢复,平台的 handlePlaying() 就会 heartbeatStart(),学时照常累计;
- 防挂机验证题(回答问题完成验证)和「继续计时」没有这个「×」,属于真·在场校验 —— 脚本依旧只响铃 + 通知 + 暂停,不代答、不代关。
真机实测:beginExam() 弹层出现(3 题,closable 3 个 ×)→ closeQuizCard() → isShowAnswerCard=false、弹层 answerCard-hidden、视频 isPlaying=1 恢复播放 ✅
修复 3(顺带):页面上同时存在多个 .answerCard-wrapper(防挂机验证卡常驻 DOM,只是加了 answerCard-hidden)。旧写法 $('.answerCard-wrapper') 只会抓到第一个(隐藏的那个)→ 找不到关闭按钮。改为遍历所有未隐藏的答题层再定位「×」。
🆕 v3.1.0 修复(上一版)
问题:带「随堂测」的课程(课程页显示 看课95%开启随堂测)一进播放页,脚本就永久暂停 + 一直响铃,完全不能自动学习;同时换个人/换个项目进去,课程列表还可能是空的。
根因 1(随堂测误判):翻平台播放器源码 spring-grain / srt-player.vue 发现 examState 的规则是——
只要本课是「看课 + 测验」型(typeOfCompleted === 3),.action-timer 里的「去测验」按钮就常驻可见(灰底 default 状态),它只是入口,不是弹窗。旧版把它当成「需要本人处理的拦截」,于是每帧都判定为「必须本人作答」→ 永久暂停。真正的弹题是看课到 95% 时平台自动弹出的答题层 .answerCard-wrapper。
修复 1:把常驻的「去测验」按钮排除出拦截判定,只在答题层真正出现时才暂停提醒;并新增随堂测识别(解析 看课N%开启随堂测 的阈值),面板标注 + 进入提示 + 到点前提前响铃通知。
根因 2(列表为空):成员培训页(/train2/workspace/{项目ID}/training/member)的课程不由模块接口下发,而是按多个 toolId(学段/学科课程包)分别查询;旧版只认一个 toolId,且会跨项目复用缓存。
修复 2:嗅探页面自身发出的全部 toolId 并发查询、合并去重,并记住每门课归属的 toolId;toolId 改为按项目隔离存储,根治跨项目污染。
🚀 三步上手
- 在做任务的电脑上登录研修网,打开「学习空间」(/train2/workspace/)
- 点右下角 「研」 → 切到 「自动挂机」 → 选队列模式(推荐「最短达标」)→ 点 「⚡ 开始自动看课」
- 第一门课的播放页自动打开,右上角出现悬浮面板 → 你就可以去干别的了
看板和播放页面板都能拖动、缩放,位置下次打开还在原处。
⚠️ 重要提醒(务必看)
脚本明确不做、也建议你别用别的脚本做:
- ❌ 不伪造学时心跳(/heartbeat-center/hb/report)
- ❌ 不绕过平台进度拖动锁
- ❌ 不替你回答防挂机验证题 / 随堂测
为什么不能「秒学完」(有源码证据):学时才按真实墙上时钟累计,心跳 watchTime:25 是写死常量;完播须看满 100% 时长;进度条拖不动、章节不能半途乱跳。唯一能"秒学完"的办法是伪造心跳——那属于伪造学习记录,本脚本不做。
你需要做的:
- 约每节 60% 处平台会弹一道防挂机验证题(回答问题完成验证)——脚本只提醒,必须你本人作答;
- 测验型课程(课程页显示 看课95%开启随堂测)在看课到 95% 时会自动弹出随堂测:
- v3.1.1 起默认自动点「×」关闭并继续播放(只关弹窗、不代答),学时照常累计,但该门测验成绩为空,想拿分要回来自行补答;
- 不想要这个行为就去「设置」关掉「随堂测自动关闭」,改回只提醒。
防挂机验证题脚本会响铃 + 桌面通知 + 面板变红并暂停连播,你回来作答后自动继续;人不在就停在那一秒(平台设计,不是脚本坏)。学时按真实时长累计,固定 1 倍速(倍速反而少记学时)。
❓ 常见问题
Q:切出去一会儿视频停了? 多半是弹验证题或「继续计时」了,看面板红条提示,处理完自动继续。
Q:能同时开两个播放页刷两门吗? 不能。平台限制单端播放,第二个播放页会被脚本自动暂停。
Q:面板显示不出课程名/时长? 课程信息进播放页后单独请求官方接口,网络慢会晚几秒;一直不出就点「自检」把信息发群里。
Q:课程里一直显示着「去测验」按钮,会把脚本卡住吗? 不会。v3.1.0 已修复:那是测验型课程的常驻入口,不算拦截;只有看课到 95% 真正弹出答题层时脚本才暂停并提醒你本人作答。
Q:脚本失效了? 研修网改版会导致选择器失效,点面板「自检」把信息发反馈群,会尽快更新。
📜 更新日志
版本
说明
v3.1.1
① 修复「自动评分 5 星」失效(根因:平台 rating.vue 的 pointerAtLeftHalf 初值为 true,只用 .click() 不派发 mousemove 会导致评分恒为 0、「提交」永久禁用;现改为按真实指针轨迹在右半区派发 mousemove + click 并校验提交);② 新增随堂测自动关闭续播(点平台自带的「×」关掉弹窗并恢复播放,学时照常累计,不代答,可关);③ 修正多 .answerCard-wrapper 时的弹层定位错误
v3.1.0
① 修复测验型课程「随堂测」误判:常驻的「去测验」按钮不再被当成拦截(旧版会导致此类课程一进播放页就永久暂停);② 新增随堂测识别与到点提醒(面板标注 + 进入提示 + 95% 前预警);③ 修复成员培训页(/training/member)多 toolId 课程包拉不到列表、以及 toolId 跨项目复用导致列表为空
v3.0.9
成员培训子页面多 toolId 课程包适配(并入 v3.1.0 发布)
v3.0.7
修复文本段被误判为视频导致卡死:改按 sgmd 字段识别类型(1/2=文档,3+=视频)
v3.0.6
文本段推进更稳(向前回跳漏掉的文本节、自动滚动阅读浮层、新增「读指南」按钮与自动读指南设置)
v3.0.5
文本/文档段纳入自动连播;新增 textWait 设置
v3.0.4
播放页新增「加速学习」合规看板(被动监听真实心跳,给出最快路径说明)
v3.0.3
修复自动连播四大逻辑:结束浮层识别完播、断点续播从首个未学段、优先未学视频、本门学完自动下一门
v3.0.2
播放界面课件/文稿可视化,章节类型徽标,材料一键新标签页打开
v3.0.1
修复章节跳转失效(点击事件平台只挂在 .res-name),补全切章链路验证
v3.0.0
播放页面板(课程名/章节/时长)、拖动缩放、看板重构、断点续播、看门狗
v2.0.0
自动连播引擎、后台保活、打赏面板、反馈群弹窗
v1.0.0
学情看板:达标排程、章节清单、CSV 导出
💬 反馈与打赏
全部功能永久免费,没有任何「赞助解锁」。 打赏只是表示你愿意让工具继续被维护。