Skip to content

工学云自动打卡,支持多用户、自定义地区、周报、日报、月报,支持免服务器运行

License

Notifications You must be signed in to change notification settings

Rockytkg/AutoMoGuDingCheckIn

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

AutoMoGuDingCheckIn

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

项目概述

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
打卡设置 address 打卡地点的详细地址,确保信息准确。 四川省 · 成都市 · 高新区 · 在科创十一街附近
latitude 打卡地点的纬度。 34.059922
longitude 打卡地点的经度。 118.277435
province 所在省份。 四川省
city 所在城市。 成都市
area 所在区域。 高新区
imageCount 打卡时需要上传的图片数量,默认为0。 0
description 打卡备注 列表,一个元素为一条,打卡时候随机抽取,若为空就不带备注
报告设置 daily.enabled 是否启用每日报告(true 或 false)。 false
daily.imageCount 每日报告中需要上传的图片数量。 0
weekly.enabled 是否启用每周报告(true 或 false)。 true
weekly.imageCount 每周报告中需要上传的图片数量。 0
weekly.submitTime 提交时间(以小时为单位,范围为0-23)。 4
monthly.enabled 是否启用每月报告(true 或 false)。 false
monthly.imageCount 每月报告中需要上传的图片数量。 0
monthly.submitTime 提交时间(默认为29号)。 29
AI 设置 model AI 模型名称(可根据需求修改)。 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": {
      "location": {
        "address": "四川省 · 成都市 · 高新区 · 在科创十一街附近",
        "latitude": "34.059922",
        "longitude": "118.277435",
        "province": "四川省",
        "city": "成都市",
        "area": "高新区"
      },
      "imageCount": 0,
      "description": ["今天天气不错", "今天天气很好", "今天天气不太好"]
    },
    "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

About

工学云自动打卡,支持多用户、自定义地区、周报、日报、月报,支持免服务器运行

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published