山东大学学生每日健康状况填报自动打卡。
注意:本程序的适用范围为一个健康的有理智的学生,暂时只实现了离校生的打卡,未来也许会实现在校生的打卡,如果你身体不适,请勿使用本程序打卡,因本程序会自动上传健康的数据。
已经结束历史使命,如果学校的官网没变化的话,可能唯一有价值的是登陆部分的代码供其他服务参考。
本程序依赖于:
推荐使用 GitHub Actions 的运行方式,可以方便的实现每日自动打卡。
注意需要你使用本程序打卡前一天手动打过卡,且当天没有打过卡,之后每天就可以都只使用自动打卡了。
首先复制 configexample.yml 文件里面的所有内容,然后在本地进行编辑,根据文件的指示填入账号和密码,之后可以去 yaml检测 检测一下文件的正确性,支持多账户,当然前提是你知道别人的密码。
之后 fork 本仓库到自己的 GitHub 账号,之后打开仓库的 Settings,在仓库设置界面在打开 Secrets 选项:
之后新建一个 secret,Name 为 CONFIG,Value 就是你编辑的包含你的学号密码的 yaml 文件内容全部复制进去即可:
保存即可,之后转到仓库的 Actions 选项卡:
Enable 本仓库已经配置好的 GitHub Actions workflow,之后点击 checkin 打开配置选项:
Enable workflow,之后得到下面的界面:
你现在可以选择 Run workflow 手动触发运行,本仓库也配置了每天的自动运行,你可以打开 GitHub Actions 的运行结果提示,这样就可以简单的实现每天的打卡任务。
⚠️ 注意最近我们发现 GitHub Actions workflow 有延时问题, 有可能您的实际运行时间与设置的不同。
又由于 GitHub 可能的设计问题,您有可能需要先手动运行一次打卡 workflow 才可以激活定时运行。
关于 repo_sync.yml 的使用说明
这个文件创建了一个定时自动同步源仓库内所有代码的 Github Actions workflow。
⚠️ 注意该 workflow 执行后会自动覆盖原仓库内的所有代码,并更新为源仓库的代码,所有自定义的修改将不会得到保留(一般来说,也没什么需要自定义的,实在是需要自定义,可以手动执行该 workflow 之后,将其设置为 disable )。
在 fork 了代码之后,首先需要去申请一个 GitHub Personal Access Token,该 Token 让此 workflow 拥有了更改指定仓库代码的权限。具体操作如下:
先选择账户 Settings
然后选择 Developer Settings
之后再选择 Personal access tokens 点击里面的 Generate new token
之后先随便取个好记的名字,然后勾选前两项
最后点击下面的 Generate token 即可,这样就能获得一串类似这样的字符,赶紧复制下来,它只会显示这一次
然后去新建一个 secret(跟上面建立 secret 的流程一样)
Name 是 PAT
Value 是刚才你复制的这一串字符
到这里,该 Github Actions workflow 就可以使用了,可以实现每日自动打卡,如果你也开启了 repo_sync workflow 那么也将定时自动同步本仓库以保持代码更新。
在本地安装好环境后,下载或者 clone 本仓库后,到项目文件夹下运行如下命令安装 Python 所需依赖:
pip install -r requirements.txt
安装好本程序所需依赖之后,需要把 configexample.yml 文件改名为 config.yml,然后根据文件里面的内容指示填入账号和密码。
之后运行如下命令运行 sduhealth.py 便会运行程序进行打卡。
python sduhealth.py
- 见 gui 分支
想知道这个程序如何工作的,出现了 bug 想修改代码?欢迎阅读 山东大学健康打卡系统分析 !
Thanks goes to these wonderful people (emoji key):
Zhang XueNan 💻 🤔 |
menma 💻 |
2U 💻 |
Ryuujo Zhang 💻 |
superzhaoyang 💻 |
This project follows the all-contributors specification. Contributions of any kind welcome!