AutoMoGuDingCheckIn 工学云自动打卡,采用新接口,更安全,支持多用户、自定义位置信息、保持登录状态、每日打卡检查、打卡位置浮动、消息推送,免服务器运行
修这个项目的初衷是因为我自己需要使用,但是很多功能都没有人实现,开源的项目还都是使用的老版本的接口,不知道什么时候就废弃了的,以及很多我需要的功能没人开源出来,例如带图打卡、周报月报等,因此我自己写了这个项目。现在我的实习已经结束了,所以这个项目也将会停止更新。天下没有不散的筵席,有缘再会。最后建议可以迁移到下面这个平台,价格算是全网最良心的了
推荐使用 CATKA打卡平台 - 简单易用,全网最低价!
还在为繁琐的实习打卡烦恼吗?CATKA打卡平台,一键解决所有问题!
支持平台: 工学云✔️ 校友邦✔️ 黔职通✔️ 学习通✔️ 习讯云✔️ 职校家园✔️ 云实习助手✔️
功能强大,操作简单:
- 自动打卡: 每日上下班打卡,解放双手!
- 自动报告: 日周月报、总结、健康上报,一键搞定!
- 多账户管理: 支持多账户同时操作,效率翻倍!
- 指定地区: 精准定位,打卡无忧!
- 多种推送方式: 实时掌握打卡状态!
- 批量操作: 批量导入实习账号,批量补卡补报告,省时省力!
全网最低价,性价比之王! 目前打卡仅需 1 毛钱一天,报告免费!
立即体验 CATKA打卡平台,告别繁琐打卡,轻松实习!
AutoMoGuDingCheckIn 旨在:
- 自动化工学云应用中的签到过程。
- 自动提交月报、周报、日报。
适配云函数
- 自动签到
- 消息推送功能
- 多用户支持
- 打卡位置浮动
- 自动提交日报
- 自动提交周报
- 自动提交月报
- AI 生成周、日、月报
- 打卡备注以及带图打卡
- Github 工作流支持
-
适配云函数
参见 Wiki
切记不要将配置文件上传到公开仓库,否则会造成信息泄露。请使用环境变量!!!,已经泄露请立刻修改工学云密码!!!
- Python 3.10+
- pip(Python 包管理器)
-
克隆代码库:
git clone https://github.com/Rockytkg/AutoMoGuDingCheckIn.git cd AutoMoGuDingCheckIn
-
按照下面要求添加配置文件
-
执行(linux 系统,windows 需要自行配置计划任务程序)
chmod +x setup.sh bash setup.sh
按照脚本提示设置定时任务并执行
- 打开 user 目录,根据下表修改 json 文件中的配置(每个文件就是一个用户)
配置项 | 字段 | 说明 | 示例 |
---|---|---|---|
用户信息 | phone | 工学云手机号,确保号码正确无误。 | 13800138000 |
password | 工学云密码,注意区分大小写。 | your_password | |
打卡设置 | mode | 打卡地点的模式,`daily`:每天打上/下班卡,`holiday`:自动识别节假日并根据`specialClockIn`决定打卡类型,`custom`:自定义打卡(需配置`customDays`表示周几打卡) | daily |
address | 打卡地点的详细地址,确保信息准确。 | 四川省 · 成都市 · 高新区 · 在科创十一街附近 | |
latitude | 打卡地点的纬度。 | 34.059922 | |
longitude | 打卡地点的经度。 | 118.277435 | |
province | 所在省份。 | 四川省 | |
city | 所在城市。 | 成都市 | |
area | 所在区域。 | 高新区 | |
imageCount | 打卡时需要上传的图片数量,默认为0。 | 0 | |
description | 打卡备注 | 列表,一个元素为一条,打卡时候随机抽取,若为空就不带备注 | |
specialClockIn | 打卡类型,当打卡模式为`holiday`或者`custom`有效,值设置为`true`时候将会在节假日或者不在`customDays`配置中的时候打`休息/节假日`卡 | false | |
customDays | 自定义周几打卡(例子就是周一到周四打卡) | 1,2,3,4 | |
报告设置 | daily.enabled | 是否启用日报提交(true 或 false)。 | false |
daily.imageCount | 日报中需要上传的图片数量。 | 0 | |
weekly.enabled | 是否启用周报提交(true 或 false)。 | true | |
weekly.imageCount | 周报中需要上传的图片数量。 | 0 | |
weekly.submitTime | 提交时间 | 4(表示周四提交周报) | |
monthly.enabled | 是否启用月报提交(true 或 false)。 | false | |
monthly.imageCount | 月报中需要上传的图片数量。 | 0 | |
monthly.submitTime | 提交时间 | 29(每月29号提交月报如果没有29天则会在该月最后一天提交) | |
AI 设置 | model | AI 模型名称(可根据需求修改,需要支持OpenAI格式的api,目前国产模型都提供有类似API) | gpt-4o-mini |
apikey | API 密钥,确保无误。 | sk-osdhgosdipghpsdgjiosfvinoips | |
apiUrl | API 地址,通常为 `https://api.openai.com/`。 | https://api.openai.com/ | |
推送通知设置 | type | 推送通知的类型(如 Server、PushPlus 等)。 | Server |
enabled | 是否启用该推送通知(true 或 false)。 | true | |
sendKey/token | 相应的密钥或令牌。 | your_key | |
channel | 对于 AnPush,填写通道 ID,多个用英文逗号隔开。 | 通道ID1,通道ID2 | |
to | 根据官方文档获取的接收者信息。 | [email protected] | |
host | SMTP 服务地址。 | smtp.example.com | |
port | SMTP 服务端口,通常为 465。 | 465 | |
username | 发件人邮箱地址。 | [email protected] | |
password | SMTP 密码。 | smtp_password | |
from | 发件人名称。 | 发件人名称 | |
设备信息 | 设备信息 | 设备信息,用这个小工具获取 | {brand: TA J20, systemVersion: 17, Platform: Android, isPhysicalDevice: true, incremental: K23V10A} |
{
"config": {
"user": {
"phone": "工学云手机号",
"password": "工学云密码"
},
"clockIn": {
"mode": "daily",
"location": {
"address": "四川省 · 成都市 · 高新区 · 在科创十一街附近",
"latitude": "30.559922",
"longitude": "104.093023",
"province": "四川省",
"city": "成都市",
"area": "高新区"
},
"imageCount": 0,
"description": [
"今天天气不错",
"今天天气很好",
"今天天气不太好"
],
"specialClockIn": false,
"customDays": [
1,
3,
5
]
},
"reportSettings": {
"daily": {
"enabled": false,
"imageCount": 0
},
"weekly": {
"enabled": true,
"imageCount": 0,
"submitTime": 4
},
"monthly": {
"enabled": false,
"imageCount": 0,
"submitTime": 29
}
},
"ai": {
"model": "gpt-4o-mini",
"apikey": "sk-osdhgosdipghpsdgjiosfvinoips",
"apiUrl": "https://api.openai.com/"
},
"pushNotifications": [
{
"type": "Server",
"enabled": true,
"sendKey": "your_key"
},
{
"type": "PushPlus",
"enabled": true,
"token": "your_token"
},
{
"type": "AnPush",
"enabled": true,
"token": "your_token",
"channel": "通道ID,多个用英文逗号隔开",
"to": "根据官方文档获取"
},
{
"type": "WxPusher",
"enabled": true,
"spt": "your_spt"
},
{
"type": "SMTP",
"enabled": true,
"host": "smtp服务地址",
"port": 465,
"username": "发件人邮箱",
"password": "smtp密码",
"from": "发件人名称",
"to": "收件人邮箱"
}
],
"device": "{brand: TA J20, systemVersion: 17, Platform: Android, isPhysicalDevice: true, incremental: K23V10A}"
}
}
配置对应的配置项目,将图片放到 images 目录,运行时会自动随机抽取指定数量图片提交
支持:
python main.py
本项目采用 Apache 2.0 许可。详细信息请参阅 LICENSE 文件。
如有任何疑问或需要支持,请通过提交 issue 与我们联系。