Skip to content

XueHua-s/ouchn-learn

Repository files navigation

国家开放大学视频一键挂机脚本+资源下载

国家开放大学视频一键挂机脚本,新增课件/视频一键下载功能。

功能特性

  • 🎬 视频挂机: 自动挂机学习视频,节省时间
  • 📥 资源下载: 一键扫描并下载页面上的视频、文档、音频等资源
  • 👀 自动查看: 自动查看所有未完成的页面
  • 🤖 AI 答题: 支持考试页面的 AI 自动答题
  • 💾 保存所有资源: 在全屏学习页面自动展开所有菜单,批量下载视频和文档(PDF格式)
  • 🚀 批量处理: 支持批量挂机和批量下载

安装

  1. 安装油猴插件(Tampermonkey)
  2. 点击 index.user.js 安装脚本
  3. 访问国家开放大学课程页面即可使用

开发

技术栈

  • 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 提交规范

项目配置了 Git Hooks,在提交代码时会自动执行:

  1. Prettier 格式化代码
  2. ESLint 检查并修复
  3. TypeScript 类型检查

确保所有检查通过后才能提交代码。

使用说明

资源下载

  1. 点击 "🔍 扫描当前页面资源" 扫描页面上的可下载资源
  2. 可以单独下载某个资源,或点击 "📦 下载全部资源" 批量下载

自动查看页面

点击 "👀 一键查看所有页面" 自动访问所有未完成的页面,脚本会自动:

  • 扫描未完成的"查看页面"任务
  • 依次访问每个页面
  • 等待页面加载完成后返回继续下一个

自动挂机

  1. 设置挂机间隔时间(默认30秒)
  2. 点击 "🎬 一键全部挂机" 自动挂机所有视频

保存所有学习资源

在课程的全屏学习活动页面(URL 包含 /learning-activity/full-screen#/)会显示简化版面板:

  1. 点击 "💾 保存所有学习资源" 按钮
  2. 脚本会自动:
    • 展开所有折叠的树形菜单
    • 扫描所有学习资源项(视频和文档)
    • 逐个切换并保存资源
  3. 保存规则:
    • 视频资源: 使用 fetch 下载,文件名从页面标题自动获取(如:开学第一课.mp4
    • 文档资源: 转换为 PDF 格式保存(使用 jsPDF + html2canvas)
  4. 实时显示保存进度和结果统计

注意事项

  • 保存过程中请不要切换页面
  • 视频下载可能需要一些时间,请耐心等待
  • PDF 生成需要加载外部库,首次使用时可能稍慢
  • 文件名会自动清理非法字符,确保可以正常保存

注意事项

  • 本脚本仅供学习交流使用
  • 请合理使用挂机功能,不要影响正常学习
  • 建议在网络状况良好时使用

License

MIT

About

国开大刷课油猴脚本

Resources

License

Stars

Watchers

Forks

Packages

No packages published