内蒙古智慧教育 - 自动刷课助手

创建于 6 天前
更新于 6 天前
自动完成内蒙古智慧教育平台(wlpx.nmgdata.org.cn)的在线课程视频学习。支持自动播放、2倍速静音、断点续播、多课程连续刷课,全程无需手动操作。
#在线教育
#自动播放
#视频学习
#智慧教育
数据统计
总安装量
21
今日新增
+0
用户评分
-
内蒙古智慧教育平台在线课程视频自动播放脚本,支持2倍速静音播放和断点续播功能。

内蒙古智慧教育 - 自动刷课助手

基本信息

项目 内容
脚本名称 内蒙古智慧教育 - 自动刷课助手
版本 2.6.0
适用平台 内蒙古智慧教育平台
许可证 MIT
运行时机 document-end

功能概述

本脚本用于自动完成内蒙古智慧教育平台(wlpx.nmgdata.org.cn)的在线课程视频学习。启动后全程无需手动操作,自动完成以下流程:

  • 自动扫描课程列表,识别未完成课程
  • 自动进入课程详情页,获取视频目录
  • 自动播放视频(静音 + 2倍速)
  • 视频完成后自动切换到下一个视频
  • 当前课程全部视频完成后,自动切换到下一门课程
  • 所有课程完成后自动停止

主要特性

1. 自动播放控制

  • 视频自动静音播放,不打扰用户
  • 默认 2 倍速播放,可大幅缩短学习时间
  • 多轮重试机制:页面加载后 500ms / 1500ms / 3000ms / 6000ms 尝试播放
  • 持续 2 秒间隔检测播放状态,如被暂停则自动恢复

2. 断点续播

  • 视频因验证码或意外中断时,自动保存当前播放进度到 sessionStorage
  • 刷新页面后自动恢复到上次播放位置继续学习

3. 多课程连续刷课

  • 扫描课程列表页,按顺序逐个完成未完成课程
  • 自动识别课程进度(支持 Element UI 进度条、文本进度等多种方式)
  • 当前页课程全部完成后,自动翻到下一页继续

4. 进度记录与持久化

  • 使用 Tampermonkey GM 存储记录已完成视频和课程
  • 进度跨页面、跨会话持久化,不会因刷新丢失
  • 以本地存储为准,不依赖页面 DOM 状态

5. 视频卡顿检测

  • 每 2 秒监控视频播放进度
  • 若 15 秒内播放时间未前进,判定为卡住并自动刷新页面

6. 可视化控制面板

  • 右上角悬浮面板,显示当前状态、课程进度、视频进度
  • 面板可拖动、可最小化
  • 提供"开始"、"停止"、"跳过当前视频"、"重置记录"按钮

7. SPA 路由兼容

  • 同时监听 hashchangehistory.pushStatehistory.replaceState
  • 支持 Vue Router 单页应用的页面切换
  • 使用 MutationObserver 检测页面内容变化,兜底检测路由切换

8. 多选择器兜底

  • 课程卡片扫描:.course-card.el-card 兜底
  • 视频列表扫描:.course-video-item.teacher-video-item[class*="video-item"] → 以 .video-name 为锚点向上查找
  • 分页按钮:Element UI .btn-next → 任意含 next class 按钮 → .el-pager 末项
  • 目录标签页:#tab-video.el-tabs__item 文本匹配 → role="tab" 属性匹配

使用方式

安装

  1. 浏览器安装 Tampermonkey 或 ScriptCat 扩展
  2. 将脚本导入扩展中
  3. 打开 内蒙古智慧教育平台

操作步骤

  1. 登录平台后,进入课程列表页
  2. 点击右上角悬浮面板的 "▶ 开始自动刷课" 按钮
  3. 脚本将自动扫描课程、播放视频、切换课程,无需任何手动干预
  4. 如需中途停止,点击 "⏹ 停止"
  5. 如需跳过当前视频,点击 "⏭ 跳过当前视频"
  6. 如需清除所有进度记录重新开始,点击 "🗑 重置记录"

配置说明

脚本内置配置项(CONFIG 对象):

配置项 默认值 说明
pauseRefreshDelay 500ms 检测到视频暂停后刷新延迟
videoEndDelay 2000ms 视频结束后等待再切换的延迟
maxRefreshRetries 3 页面刷新最大重试次数
pollInterval 1000ms DOM 轮询间隔
debug true 是否输出调试日志
completionThreshold 0.95 播放时长超过总时长 95% 即算完成

页面支持

页面类型 路由特征 脚本行为
课程列表页 #/#/index#/course/index 扫描课程卡片,依次进入未完成课程
课程详情页 #/course/detail 点击目录标签,获取视频列表,进入视频页
视频播放页 #/video#/play#/watch 自动播放视频,完成后返回课程详情

所需权限

权限 用途
unsafeWindow 访问页面 window 对象
GM_setValue 持久化存储已完成课程和视频记录
GM_getValue 读取已完成课程和视频记录
GM_deleteValue 清除存储数据
GM_log 输出调试日志

技术实现

  1. IIFE 模块化:使用立即执行函数封装,避免全局变量污染
  2. Promise 异步控制:视频元素等待、页面跳转等操作均使用 async/await
  3. GM 存储持久化:进度数据跨页面保持,beforeunload 事件确保数据完整保存
  4. 多重防重复机制_indexPageHandling_detailPageHandling_videoPageHandling 标志防止并发执行
  5. _videoCompleted 防抖:防止 pauseended 事件双重触发完成处理

注意事项

  • 本脚本仅用于个人学习辅助,请合理使用
  • 脚本运行时建议保持浏览器标签页激活,部分浏览器会限制后台标签页的视频播放
  • 如遇到验证码阻断,脚本会自动刷新页面,刷新后验证码通常消失
  • 重置记录会清除所有课程完成标记,请谨慎操作
脚本详情
适用网站
许可协议MIT
权限与访问
使用能力
存储