{"id":23181048,"url":"https://github.com/cxorz/chaoxing-signin","last_synced_at":"2025-03-12T20:01:31.645Z","repository":{"id":41080537,"uuid":"420945456","full_name":"cxOrz/chaoxing-signin","owner":"cxOrz","description":"超星学习通签到：支持普通签到、拍照签到、手势签到、位置签到、二维码签到，支持自动监测、QQ机器人签到与推送。","archived":false,"fork":false,"pushed_at":"2024-10-14T09:35:24.000Z","size":725,"stargazers_count":1393,"open_issues_count":17,"forks_count":205,"subscribers_count":8,"default_branch":"main","last_synced_at":"2025-03-05T18:01:41.712Z","etag":null,"topics":["campus","chaoxing","mooc","nodejs","serverless","typescript"],"latest_commit_sha":null,"homepage":"","language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/cxOrz.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":"2021-10-25T08:46:55.000Z","updated_at":"2025-03-05T09:30:51.000Z","dependencies_parsed_at":"2023-09-25T21:00:01.281Z","dependency_job_id":"604b5ea9-1245-4eb8-bac8-b68d1ca53621","html_url":"https://github.com/cxOrz/chaoxing-signin","commit_stats":null,"previous_names":["cxorz/chaoxing-signin"],"tags_count":20,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cxOrz%2Fchaoxing-signin","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cxOrz%2Fchaoxing-signin/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cxOrz%2Fchaoxing-signin/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cxOrz%2Fchaoxing-signin/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/cxOrz","download_url":"https://codeload.github.com/cxOrz/chaoxing-signin/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":243285605,"owners_count":20266848,"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","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":["campus","chaoxing","mooc","nodejs","serverless","typescript"],"created_at":"2024-12-18T08:14:16.711Z","updated_at":"2025-03-12T20:01:31.585Z","avatar_url":"https://github.com/cxOrz.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"\u003ch1 align=\"center\"\u003e🌿超星学习通签到🌿\u003c/h1\u003e\n\n![NodeJS](https://img.shields.io/badge/node.js-6DA55F?style=for-the-badge\u0026logo=node.js\u0026logoColor=white)\n![TypeScript](https://img.shields.io/badge/typescript-%23007ACC.svg?style=for-the-badge\u0026logo=typescript\u0026logoColor=white)\n![Docker](https://img.shields.io/badge/docker-%230db7ed.svg?style=for-the-badge\u0026logo=docker\u0026logoColor=white)\n![Licence](https://img.shields.io/github/license/cxOrz/chaoxing-signin?style=for-the-badge)\n\n基于 Nodejs 实现的一个命令行签到工具，在此基础上使用 React.js + Material UI + Koa 扩展成为 Web 项目。\n\n**功能**： 普通签到、拍照签到、手势签到、位置签到、签到码签到、二维码签到，多用户凭据储存，IM 协议自动签到。\n\n## 环境 💻\n\n可在任意运行 [NodeJS](https://nodejs.org/en/) \u003e v18.14 的平台签到，Windows、MacOS、Linux ... \n\n安卓手机上可以用 Termux 来运行NodeJS程序，[查看Termux教程](./apps/server/src/docs/termux.md) 。\n\n苹果手机请查看 [高级](#高级-) 部分，通过这种方式来使用，当然这种方式也适用于其他。\n\n## 部署 🛠\n\n将仓库克隆到本地\n\n```bash\ngit clone https://github.com/cxOrz/chaoxing-signin.git\n```\n\n进入项目文件夹，并安装依赖\n\n```bash\ncd chaoxing-signin\npnpm install\n```\n\n## 运行 ⚙\n\n### 命令解释\n\n根目录下：\n- `pnpm dev`：运行Web开发服务器、后端接口；\n- `pnpm build`：构建前端页面、转译后端代码；\n- `pnpm start`：运行手动签到；\n- `pnpm serve`：启动后端接口；\n- `pnpm monitor`：启动监听模式，检测到签到将自动签上，无需人工干预；\n\napps/server 目录下：\n- `pnpm build`：转译代码；\n- `pnpm start`：运行手动签到功能，若有签到则手动完成，若无则退出程序；\n- `pnpm serve`：启动接口；\n- `pnpm monitor`：启动监听模式，检测到签到将自动签上，无需人工干预；\n\napps/web 目录下：\n- `pnpm dev`：运行 Web 开发服务器；\n- `pnpm build`：构建静态页面；\n\n### 基本使用方式\n\n进入 `apps/server` 目录下，执行以下步骤：\n\n构建代码\n```bash\npnpm build\n```\n构建完成，后续的运行直至下次变更代码，不需要再构建，可以直接运行\n```bash\npnpm start\n```\n\n## 使用须知 📄\n\n为了节约资源，只对2小时以内的活动签到。若同时有多个有效签到活动，只签最新发布的。将结束的课程移入其他文件夹，减少根目录的课程能够提高活动检测速度。\n\n### 二维码签到\n\n在运行之前需要做些准备，请找一位挚友，拍一张二维码的照片，识别二维码，得到一个字符串，复制其中的 `enc` 参数值，例如 `1D0A628CK317F44CCC378M5KD92`，询问时填入。若使用 UI 仓库的项目(查看`高级`)，可以直接选择图片并自动解析得到enc参数。如果遇到10s变换的二维码，参考 [#178](https://github.com/cxOrz/chaoxing-signin/issues/178)\n\n### 位置签到\n\n根据运行时的提示输入**经纬度**和**详细地址**，经纬度在这里获取 [百度拾取坐标系统](https://api.map.baidu.com/lbsapi/getpoint/index.html)，点击某位置，经纬度将出现在网页右上方，复制该值，询问时填入。详细地址样例：河南省郑州市中原区华中师范大学附属郑州万科城小学，该地址将显示在教师端。\n\n### 拍照签到\n\n需要事先准备一张用来提交的照片。浏览器访问超星云盘：https://pan-yz.chaoxing.com ，在根目录上传一张你准备的照片，命名为 `0.jpg` 或 `0.png` 。若使用 UI 仓库的项目(查看`高级`)，不需要上传云盘，可以直接选择图片提交签到。\n\n### 普通签到\u0026手势签到\u0026签到码签到\n\n没有需要准备的，直接运行即可。\n\n### 监听模式\n\n支持开启QQ机器人、邮件推送、pushplus推送；\n\n**QQ 机器人**：根据 [go-cqhttp](https://docs.go-cqhttp.org/guide/quick_start.html) 文档，配置正向 WebSocket、QQ号、密码，并运行 go-cqhttp 程序，即可运行监听模式并启用该选项。\n\n如需发送二维码让机器人识别并签到，请配置 `env.json` 的 `SecretId` 和 `SecretKey`，将使用腾讯云OCR进行识别和处理。\n\n监听模式每次需要时启用 2 - 4 小时较为合适，最好不要挂着不关。\n\n## 高级 🎲\n\n除了简单的 `pnpm start` 来手动签到，也可以部署到服务器使用网页版本，别忘了这也是个 Web 项目。\n\n- 前端界面，查看 [前端](/apps/web) 的详细说明。\n- 后端服务，查看 [服务端](/apps/server) 的详细说明。\n\n### 一键运行\n\n方案一：根目录下执行 `pnpm dev` 将运行前后端服务，并在浏览器弹出项目首页，注意这是开发模式！\n\n方案二：用提供的 Docker 镜像，运行后可通过 IP 访问。\n\n```bash\ndocker pull ghcr.io/cxorz/chaoxing-signin:latest\ndocker run -d -p 80:80 -p 5000:5000 ghcr.io/cxorz/chaoxing-signin\n```\n\n\u003e 出现问题？先仔细阅读相关说明，若仍无法解决请发 issue\n\n### 展示\n\n![](https://service-m9r7liw5-1252446325.bj.apigw.tencentcs.com/release/ui-start.png)\n![](https://service-m9r7liw5-1252446325.bj.apigw.tencentcs.com/release/ui-config.webp)\n\n## 贡献须知\n\n\u003e 由于作者精力有限，自 2023.6.10 起，本项目不再维护，欢迎热心同学们贡献代码。\n\n发起 pr 之前务必先发起issue进行讨论，之后新建一个分支(以提供的功能命名），并在此分支完成你的代码即可提交 pr。\n\n必要条件：\n- 运行 `turbo run lint` 无错误出现，可以有警告\n- 测试所有功能全部正常\n\n## 免责声明\n\n本项目仅作为交流学习使用，通过本项目加深网络通信、接口编写、交互设计等方面知识的理解，请勿用作商业用途，任何人或组织使用项目中代码进行的任何违法行为与本人无关。\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcxorz%2Fchaoxing-signin","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fcxorz%2Fchaoxing-signin","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcxorz%2Fchaoxing-signin/lists"}