国家开放大学视频一键挂机脚本,新增课件/视频一键下载功能。
- 🎬 视频挂机: 自动挂机学习视频,节省时间
- 📥 资源下载: 一键扫描并下载页面上的视频、文档、音频等资源
- 👀 自动查看: 自动查看所有未完成的页面
- 🤖 AI 答题: 支持考试页面的 AI 自动答题
- 💾 保存所有资源: 在全屏学习页面自动展开所有菜单,批量下载视频和文档(PDF格式)
- 🚀 批量处理: 支持批量挂机和批量下载
- 安装油猴插件(Tampermonkey)
- 点击 index.user.js 安装脚本
- 访问国家开放大学课程页面即可使用
- TypeScript
- tsup (构建工具)
- ESLint + Prettier (代码质量)
- Husky + lint-staged (Git Hooks)
src/
├── constants/ # 常量定义
├── modules/ # 功能模块
│ ├── styles.ts # 样式注入
│ ├── panel.ts # 下载面板
│ ├── resource-download.ts # 资源下载
│ ├── auto-view.ts # 自动查看页面
│ ├── auto-hang.ts # 自动挂机
│ ├── auto-save-resources.ts # 批量保存资源
│ ├── auto-material-download.ts # 参考资料下载
│ ├── auto-exam.ts # AI 自动答题
│ └── legacy-hang.ts # 原有挂机功能
├── types/ # 类型定义
├── utils/ # 工具函数
│ ├── helper.ts # 通用工具
│ ├── storage.ts # 存储管理
│ └── dom.ts # DOM 操作
└── index.ts # 入口文件
# 安装依赖
pnpm install
# 开发模式(监听文件变化)
pnpm run dev
# 构建
pnpm run build
# 类型检查
pnpm run typecheck
# 代码检查
pnpm run lint
# 代码检查并自动修复
pnpm run lint:fix
# 代码格式化
pnpm run format项目配置了 Git Hooks,在提交代码时会自动执行:
- Prettier 格式化代码
- ESLint 检查并修复
- TypeScript 类型检查
确保所有检查通过后才能提交代码。
- 点击 "🔍 扫描当前页面资源" 扫描页面上的可下载资源
- 可以单独下载某个资源,或点击 "📦 下载全部资源" 批量下载
点击 "👀 一键查看所有页面" 自动访问所有未完成的页面,脚本会自动:
- 扫描未完成的"查看页面"任务
- 依次访问每个页面
- 等待页面加载完成后返回继续下一个
- 设置挂机间隔时间(默认30秒)
- 点击 "🎬 一键全部挂机" 自动挂机所有视频
在课程的全屏学习活动页面(URL 包含 /learning-activity/full-screen#/)会显示简化版面板:
- 点击 "💾 保存所有学习资源" 按钮
- 脚本会自动:
- 展开所有折叠的树形菜单
- 扫描所有学习资源项(视频和文档)
- 逐个切换并保存资源
- 保存规则:
- 视频资源: 使用
fetch下载,文件名从页面标题自动获取(如:开学第一课.mp4) - 文档资源: 转换为 PDF 格式保存(使用 jsPDF + html2canvas)
- 视频资源: 使用
- 实时显示保存进度和结果统计
注意事项:
- 保存过程中请不要切换页面
- 视频下载可能需要一些时间,请耐心等待
- PDF 生成需要加载外部库,首次使用时可能稍慢
- 文件名会自动清理非法字符,确保可以正常保存
- 本脚本仅供学习交流使用
- 请合理使用挂机功能,不要影响正常学习
- 建议在网络状况良好时使用
MIT