{"id":18725695,"url":"https://github.com/skye-z/auto-mooc","last_synced_at":"2025-08-26T12:20:33.980Z","repository":{"id":195842446,"uuid":"693658231","full_name":"skye-z/auto-mooc","owner":"skye-z","description":"Auto Mooc Tool (Service)","archived":false,"fork":false,"pushed_at":"2024-03-18T07:33:40.000Z","size":403,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-05-19T18:49:00.243Z","etag":null,"topics":["auto-test","beginner-friendly","golang","mooc","playground"],"latest_commit_sha":null,"homepage":"","language":"Go","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/skye-z.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2023-09-19T13:10:11.000Z","updated_at":"2024-03-18T07:35:11.000Z","dependencies_parsed_at":null,"dependency_job_id":"add80516-0f40-48c2-8a9d-5eaa8736e19b","html_url":"https://github.com/skye-z/auto-mooc","commit_stats":null,"previous_names":["skye-z/auto-mooc"],"tags_count":5,"template":false,"template_full_name":null,"purl":"pkg:github/skye-z/auto-mooc","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/skye-z%2Fauto-mooc","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/skye-z%2Fauto-mooc/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/skye-z%2Fauto-mooc/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/skye-z%2Fauto-mooc/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/skye-z","download_url":"https://codeload.github.com/skye-z/auto-mooc/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/skye-z%2Fauto-mooc/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":272219721,"owners_count":24894474,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-08-26T02:00:07.904Z","response_time":60,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["auto-test","beginner-friendly","golang","mooc","playground"],"created_at":"2024-11-07T14:11:25.770Z","updated_at":"2025-08-26T12:20:33.923Z","avatar_url":"https://github.com/skye-z.png","language":"Go","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Auto Mooc 2 - 第二代自动化慕课工具\n\n[![version](https://img.shields.io/badge/Go-1.21+-%2300ADD8?style=flat\u0026logo=go)](go.work)\n[![license](https://img.shields.io/badge/License-GPL%20v3.0-orange)](LICENSE)\n\n\u003e 请注意: 本项目仅供交流学习自动化测试技术, 滥用造成的后果请自行承担!\n\n你现在所在的是 `Auto Mooc 2` 的服务端项目.\n\n其他 `Auto Mooc 2` 项目请点击下方链接前往:\n\n* 网页端: [WebPage](https://github.com/skye-z/auto-mooc-page)\n* 客户端: [Client](https://github.com/skye-z/auto-mooc-app)\n\n## 前言\n\n本项目在 [v1](https://github.com/skye-z/auto-mooc/tree/v1) 的基础上优化迭代而来, 放弃了部署复杂且性能较弱的 `playwright`, 换为 `chromedp`.\n\n同时进一步简化了使用步骤降低上手难度, 加入更加完善的课业管理服务.\n\n本项目结构简单, 适合Go语言初学者或自动化技术初学者参考学习.\n\n## 使用说明\n\n使用流程:\n1. 扫码登陆\n2. 选择科目开始上课\n3. 收取停止通知\n4. 完成答题测验\n5. 刷新页面(任务此时已经停止)\n6. 选择科目重新开始上课\n\n### 常见问题\n\n#### Q: 启动后报错...Chrome...PATH\n\n出现类似报错均为未检测到 Chrome 浏览器, 请检查是否正确安装 Chrome 浏览器\n\n#### Q: 扫码后登陆成功但还是停留扫码页面\n\n请检查扫码微信是否已绑定慕课网站账户.\n\n检查方法: 浏览器打开慕课网站, 点击登陆, 选择微信登陆, 登陆后若跳转绑定页面即为未绑定账户\n\n#### Q: Windows下双击打开没有响应或弹出空白的黑窗口\n\n请按照下列说明检查:\n* 工具所在目录的路径不存在中文\n* 工具目录下没有其他无关文件\n* 没有在压缩包中双击打开\n\n#### Q: 开始上课了, 但是显示的图片没有变化\n\n上课任务控制页面显示的是静态的任务截图, 如果需要刷新截图请点击左下角的刷新按钮.\n\n如果刷新多次依旧没有变化, 请点击右下角橙色的恢复任务按钮.\n\n#### Q: 遇到测验上课停止了怎么办\n\n请在APP或慕课网站完成测验, 然后回到工具中刷新页面(不是刷新截图)或者点击停止任务, 然后选择科目重新开始上课\n\n\u003e 当你收到任务停止通知时上课就已经停止了, 页面需要刷新浏览器才能更新, 当然你点击停止任务直接回到选科页面也行\n\n## 开发文档\n\n👏 欢迎各位同学贡献代码\n\n### 目录结构\n\n```txt\n- /page             前端页面\n- /service          HTTP服务目录\n    - script.js     页面注入脚本\n    - init.go       初始化服务\n    - user.go       用户服务\n    - work.go       任务服务\n    - course.go     课程服务\n    - subject.go    科目服务\n    - setting.go    设置服务\n- /util           公共组件目录\n    - push.go       推送工具\n    - config.go     配置工具\n    - response.go   响应工具\n- go.mod            项目依赖\n- go.sum            ~\n- main.go           项目入口\n```\n\n### API 接口\n\n```txt\n// 获取登录二维码\nGET     /api/login/code\n\n// 获取二维码状态\nGET     /api/login/state\n\n// 获取登录状态\nGET     /api/login\n\n// 获取用户名称\nGET     /api/user\n\n// 获取科目列表\nGET     /api/subject\n\n// 选择科目\nGET     /api/subject/select?id=科目编号\n\n// 获取课程列表\nGET     /api/course?id=科目编号\n\n// 查询任务状态\nGET     /api/work\n\n// 任务开始\nGET     /api/work/start\n\n// 任务停止\nGET     /api/work/stop\n\n// 任务截图\nGET     /api/work/screen\n\n// 获取推送设置\nGET     /api/push\n\n// 更新推送设置\nPOST    /api/push\nFORM    enable  是否启用推送\n        path    消息服务器地址\n```\n\n### 运行须知\n\n执行 `go run main.go` 即可运行程序, 但是在这之前你需要先进入 `page` 目录执行 `yarn run build` 构建页面\n\n否则将会因 `/page/dist` 目录为空而报错","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fskye-z%2Fauto-mooc","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fskye-z%2Fauto-mooc","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fskye-z%2Fauto-mooc/lists"}