前言

2020年八月份按照子墨大佬代码,写了一份自动签到代码的使用教程。
现在放假回家,不用签到改疫情上报了。
他这个项目好像有一段时间没有维护了。好像有些代码失效了。
我参考签到群里给的数据。修改完了,代码链接附本文后,

(手动疫情上报,可以,但没必要)

本文教程

下载项目

感谢子墨大佬今日校园自动填表项目
遵从大佬申明

  1. 不允许使用此项目提供付费的代挂服务,或者任意的收费行为,自愿捐赠除外
  2. 请尽量去大佬GitHub给他点个star,以示对原作者的尊重

本教程是结合大佬项目教程
(大佬教程太难了,小白的我压根看不懂o( ̄┰ ̄*)ゞ),以及自我实践总结修改完成(小白版教程)

食用项目

  1. 下载大佬的auto-submit自动填表项目
- user:
      #username 学号或者工号
      username: '161105024'
      #password 密码
      password: '161105024'
      #address 地址,定位信息
      address: 广东省惠州市惠东县xx大道x号
      #email 接受通知消息的邮箱
      email: 461009747@qq.com
      #school 学校全称
      school: 惠州市技师学院

注意:疫情填表上报:填写家里位置还是学校位置,根据学校要求来。

  1. 接着修改config.yml中填表信息
    下列是某大学填表信息配置
    (其他学校的,不会配置的请接着看第四步配置)
- default:
    title: 今天你的所在地是?
    type: 1
    value: XX省/XX市/XX区
- default:
    title: 今天你的体温是多少?
    type: 2
    value: 37.2℃及以下
- default:
    title: 今天你的身体状况是?
    type: 2
    value: 健康
- default:
    title: 近14天你或你的共同居住人是否有疫情中、高风险区域人员接触史?
    type: 2
    value: 否
- default:
    title: 近14天你或你的共同居住人是否和确诊、疑似病人接触过?
    type: 2
    value: 否
- default:
    title: 近14天你或你的共同居住人是否是确诊、疑似病例?
    type: 2
    value: 否
- default:
    title: 你或你的共同居住人目前是否被医学隔离?
    type: 2
    value: 否
- default:
    title: 今天你当地的健康码颜色是?
    type: 2
    value: 绿色
- default:
    title: 本人是否承诺以上所填报的全部内容均属实、准确,不存在任何隐瞒与不实的情况,更无遗漏之处      
    type: 2
    value: 是   
  1. 其他学校填表信息通用配置方法

1)首先安装好电脑环境与软件。安装python3.8(微软商城搜索安装即可)
2)根据\auto-submit\requirements.txt文件,安装环境。(缺少什么环境安装什么)
我缺少oss2、pyyaml,就以这个举例。

Windows打开运行-CMD-打开命令窗-填入下列代码分别安装

pip install oss2
pip3 install pyyaml

3)运行环境安装好了之后,运行generate.py文件,根据输出内容按照要求手动填写一次签到问题,填写结束后手动复制控制台输出的=====================分隔线======================
下方的内容,将其复制到/auto-submit/config.yml文件中相应位置进行覆盖。最后保存文件。

注意:有时候问题太长复制可能会变成两行,请手动改为一行否则会报错:请填写正确信息

  1. 打开腾讯云函数,注册创建账号。(每月免费额度足够几个人签到使用了,如果是带图片签到记得优化下图片)
    打开控制台,点击函数服务-新建函数服务。
    函数名称随便起
    运行环境选择Python 3.6
    创建方式选择空白函数 点击下一步
    提交方法本地上传文件夹提交把自己修改好的auto-submit文件夹(主要包含config.ymlindex.py两个文件其他可以删除了)提交上去qi
    高级设置里执行超时时间选择66、88也随便尽量长一点。
  1. 点击触发管理创建触发器(设置签到时间,最好不要整点设置以防签不上)触发方式:定时触发
    定时任务名称随便
    触发周期:选择自定义触发周期
    Cron表达式:根据自己学校设置的时间范围自由设置。
    Cron表达式设置参考文档
  1. 点击确定-立即跳转


完成后配置依赖(之前就可以配置忘记了,就不改了)
点击云函数右边层-选择新建层
层名称:同样随随意
提交方法本地上传zip包。上传dependency.zip
运行环境:同样选择Python3.6
最后点击刚刚创建函数绑定层
压缩包下载地址:
原项目地址(下载慢的选择我放到蓝奏云的下载地址)
蓝奏云下载

最后的最后点击部署并测试预览下,日志出现“正在自动提交。今日已提交!”等字样则配置成功(我是已经填表完了所以出现“获取最新待填写问卷失败,可能是辅导员还没有发布。。。”字样)

签到结果推送

由于使用原作者邮件推送的比较多,会造成有时收不到签到结果通知。
所以为了缓解原作者压力,也是为了更好收到信息通知。
改用其他方式接收信息

使用Qmsg酱(qq推送消息)

进入Qmsg酱官网,点击管理台-使用QQ登入。
选择Qmsg酱小姐姐们的QQ号(加她为好友,设为关心)
添加你要接受信息QQ(备注疫情填表)
点击我的-key-复制key到config.yml文件内填qsmg酱key地方即可

效果图

使用Server酱(微信推送信息)

server酱也是同理,也就不多赘述了

进入Server酱官网,右下角Github一键登入。(没有Github账号的要注册账号)
然后选择微信推送,绑定自己的微信。
获取属于自己的SCKEY。(注意保密)
复制属于自己的SCKEY到config.yml文件内填Server酱sckey地方即可

更新

源代码:https://github.com/ZimoLoveShuang/auto-submit

蓝奏云:https://wwe.lanzous.com/b015y708b密码:79wu

问题与解决

  1. 源代码运行时候出现“错误是请提交正确的信息收集信息”,打开index.py
    CTRL+F搜索# 默认正常的提交参数json
    找到params = {"formWid": formWid, "address": address, "collectWid": collectWid, "schoolTaskWid": schoolTaskWid,"form": form}代码在最后一个符号“}”前面加上以下代码, "uaIsCpadaily": True
  1. 执行摘要出现测试失败,返回结果{"errorCode":-1,"errorMessage":"User process exit when running","statusCode":439}

代码没问题,只是你在没有规定时间内运行填表就会出现该问题
在规定时间内运行代码测试结果就会出现success


无论今后遇到什么事情,请不要后悔与我相遇