Skip to content

Latest commit

 

History

History
404 lines (357 loc) · 11.4 KB

README.md

File metadata and controls

404 lines (357 loc) · 11.4 KB

AutoMoGuDingCheckIn(停止维护)

AutoMoGuDingCheckIn 工学云自动打卡,采用新接口,更安全,支持多用户、自定义位置信息、保持登录状态、每日打卡检查、打卡位置浮动、消息推送,免服务器运行

修这个项目的初衷是因为我自己需要使用,但是很多功能都没有人实现,开源的项目还都是使用的老版本的接口,不知道什么时候就废弃了的,以及很多我需要的功能没人开源出来,例如带图打卡、周报月报等,因此我自己写了这个项目。现在我的实习已经结束了,所以这个项目也将会停止更新。天下没有不散的筵席,有缘再会。最后建议可以迁移到下面这个平台,价格算是全网最良心的了

推荐使用 CATKA打卡平台 - 简单易用,全网最低价!

还在为繁琐的实习打卡烦恼吗?CATKA打卡平台,一键解决所有问题!

支持平台: 工学云✔️ 校友邦✔️ 黔职通✔️ 学习通✔️ 习讯云✔️ 职校家园✔️ 云实习助手✔️

功能强大,操作简单:

  • 自动打卡: 每日上下班打卡,解放双手!
  • 自动报告: 日周月报、总结、健康上报,一键搞定!
  • 多账户管理: 支持多账户同时操作,效率翻倍!
  • 指定地区: 精准定位,打卡无忧!
  • 多种推送方式: 实时掌握打卡状态!
  • 批量操作: 批量导入实习账号,批量补卡补报告,省时省力!

全网最低价,性价比之王! 目前打卡仅需 1 毛钱一天,报告免费!

立即体验 CATKA打卡平台,告别繁琐打卡,轻松实习!

项目概述

AutoMoGuDingCheckIn 旨在:

  • 自动化工学云应用中的签到过程。
  • 自动提交月报、周报、日报。
  • 适配云函数

功能列表

  • 自动签到
  • 消息推送功能
  • 多用户支持
  • 打卡位置浮动
  • 自动提交日报
  • 自动提交周报
  • 自动提交月报
  • AI 生成周、日、月报
  • 打卡备注以及带图打卡
  • Github 工作流支持
  • 适配云函数

使用方法

Github 工作流(免服务器部署)

参见 Wiki

切记不要将配置文件上传到公开仓库,否则会造成信息泄露。请使用环境变量!!!,已经泄露请立刻修改工学云密码!!!

本地运行

环境

  • Python 3.10+
  • pip(Python 包管理器)

安装

  1. 克隆代码库:

    git clone https://github.com/Rockytkg/AutoMoGuDingCheckIn.git
    cd AutoMoGuDingCheckIn
  2. 按照下面要求添加配置文件

  3. 执行(linux 系统,windows 需要自行配置计划任务程序)

    chmod +x setup.sh
    bash setup.sh

    按照脚本提示设置定时任务并执行

配置

  1. 打开 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}
示例 JSON 配置
{
  "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 与我们联系。

start

Stargazers over time