skye-z / auto-mooc

Auto Mooc Tool (Service)

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Auto Mooc 2 - 第二代自动化慕课工具

version license

请注意: 本项目仅供交流学习自动化测试技术, 滥用造成的后果请自行承担!

你现在所在的是 Auto Mooc 2 的服务端项目.

其他 Auto Mooc 2 项目请点击下方链接前往:

前言

本项目在 v1 的基础上优化迭代而来, 放弃了部署复杂且性能较弱的 playwright, 换为 chromedp.

同时进一步简化了使用步骤降低上手难度, 加入更加完善的课业管理服务.

本项目结构简单, 适合Go语言初学者或自动化技术初学者参考学习.

使用说明

使用流程:

  1. 扫码登陆
  2. 选择科目开始上课
  3. 收取停止通知
  4. 完成答题测验
  5. 刷新页面(任务此时已经停止)
  6. 选择科目重新开始上课

常见问题

Q: 启动后报错...Chrome...PATH

出现类似报错均为未检测到 Chrome 浏览器, 请检查是否正确安装 Chrome 浏览器

Q: 扫码后登陆成功但还是停留扫码页面

请检查扫码微信是否已绑定慕课网站账户.

检查方法: 浏览器打开慕课网站, 点击登陆, 选择微信登陆, 登陆后若跳转绑定页面即为未绑定账户

Q: Windows下双击打开没有响应或弹出空白的黑窗口

请按照下列说明检查:

  • 工具所在目录的路径不存在中文
  • 工具目录下没有其他无关文件
  • 没有在压缩包中双击打开

Q: 开始上课了, 但是显示的图片没有变化

上课任务控制页面显示的是静态的任务截图, 如果需要刷新截图请点击左下角的刷新按钮.

如果刷新多次依旧没有变化, 请点击右下角橙色的恢复任务按钮.

Q: 遇到测验上课停止了怎么办

请在APP或慕课网站完成测验, 然后回到工具中刷新页面(不是刷新截图)或者点击停止任务, 然后选择科目重新开始上课

当你收到任务停止通知时上课就已经停止了, 页面需要刷新浏览器才能更新, 当然你点击停止任务直接回到选科页面也行

开发文档

👏 欢迎各位同学贡献代码

目录结构

- /page             前端页面
- /service          HTTP服务目录
    - script.js     页面注入脚本
    - init.go       初始化服务
    - user.go       用户服务
    - work.go       任务服务
    - course.go     课程服务
    - subject.go    科目服务
    - setting.go    设置服务
- /util           公共组件目录
    - push.go       推送工具
    - config.go     配置工具
    - response.go   响应工具
- go.mod            项目依赖
- go.sum            ~
- main.go           项目入口

API 接口

// 获取登录二维码
GET     /api/login/code

// 获取二维码状态
GET     /api/login/state

// 获取登录状态
GET     /api/login

// 获取用户名称
GET     /api/user

// 获取科目列表
GET     /api/subject

// 选择科目
GET     /api/subject/select?id=科目编号

// 获取课程列表
GET     /api/course?id=科目编号

// 查询任务状态
GET     /api/work

// 任务开始
GET     /api/work/start

// 任务停止
GET     /api/work/stop

// 任务截图
GET     /api/work/screen

// 获取推送设置
GET     /api/push

// 更新推送设置
POST    /api/push
FORM    enable  是否启用推送
        path    消息服务器地址

运行须知

执行 go run main.go 即可运行程序, 但是在这之前你需要先进入 page 目录执行 yarn run build 构建页面

否则将会因 /page/dist 目录为空而报错

About

Auto Mooc Tool (Service)

License:GNU General Public License v3.0


Languages

Language:Go 63.3%Language:JavaScript 33.6%Language:Shell 3.1%