实现全自动完美校园健康打卡 |
您所在的位置:网站首页 › 钉钉自动打卡怎么设置时间 › 实现全自动完美校园健康打卡 |
声明:该项目已不再维护,完美校园可能有改动地方,此文章内容不一定适用,暂不提供技术支持,请酌情使用,谢谢!1.功能概括 🎨 自动获取打卡信息(前提是有打过卡)🎨 体温随机在36.1-36.6之间🎨 打卡时间为执行时间🎨 打卡结果会发送到你的邮箱 🎯 当前仅支持单账号,多账号过几天会出来的 目前仅在我自己的学校试验成功了,听网上说有的学校健康打卡还不一样,具体我也不是很清楚,所以大家首次执行的时候,一定要仔细确认下输出日志,有问题可以在Issues中提问或发送到我的邮箱[email protected]。 ♨️ 项目开源地址:HCI-AC 2.使用教程💡 我这里用的是腾讯云-云函数,没有腾讯云的请自行注册,怎么注册请自行百度,这里不多做说明。 2.1 创建云函数2.1.1 环境选择创建方式选择自定义创建函数类型选择事件函数函数名称和地域随便部署方式选择代码部署运行方式选择Python3.6 2.1.2 代码部署先去Gitee下载项目压缩包:HCI-AC 下载好不要着急上传,因为Gitee下载的会套一层文件夹,如果直接上传会新建失败,报找不到方法入口的错误 正确的做法是:将下载的压缩包解压后,不带文件夹直接打包,如图 一定要保证文件是在一级目录下,如果嫌麻烦,我这里也提供有打包好的:HCI-AC 然后在云函数项目代码中选择本地上传zip包,执行方法保持默认的index.main_handler 2.1.3 高级配置设置在高级配置-环境配置中,内存选多少都行,将执行超时时间设置为900秒,环境变量中,按图上填入TZ和Asia/Shanghai 2.1.4 触发器配置创建触发器选择自定义创建触发方式默认定时触发定时任务名称随便触发周期选择自定义触发周期关于Cron表达式,你们可以自行百度是什么,这里我放几条用作参考:每天早上8点:0 0 8 * * * *每天上午10:30:0 30 10 * * * *每天上午9点、下午2点:0 0 9,14 * * * *会举一反三了吧? 配置好后点完成等它创建好就行了 2.2 代码配置点函数管理-函数代码进行代码配置 2.2.1 安装依赖点击终端-新终端 依次输入: cd src pip install -r requirements.txt -t .正确执行后目录中会多一些依赖文件 💡 一定要在src目录下执行! 2.2.2 config.py配置将config.py中的手机号phone和密码password填成你自己,关于邮箱配置,我们可以用QQ邮箱来发邮件,发件人邮箱user填你自己的QQ邮箱,收件人填要接收邮件的邮箱,发件人授权密码pwd需要在QQ邮箱中申请,申请步骤: 电脑登录QQ邮箱后,点击设置-账户,找到POP3/IMAP/SMTP/Exchange/CardDAV/CalDAV服务后,开启服务并点击生成授权码,根据提示获取到授权码填入配置中即可。 💡 其他字段可以根据注释适当更改。 3.测试和部署代码配置填完后,就可以测试和部署了。 首先我们先在index.py中的结尾处,加上这一行代码: # 下面两个参数1随便填,没有影响,但一定要规范! main_handler(1, 1)保存后在终端中输入 # 如果在src目录下第一行就不用输入了 cd src python3 index.py如果没报错,会提示验证码已发送,接着最下面会有一行Please Input SMS Code:字样,这时候只要等待短信,短信到了后把验证码填到里面并回车就可以了,不出错的话下面就会提示打卡成功等字样,因为我这边部署过了,所以用不了验证码登录,就不放图了。 将测试好的代码保存后,点击右上角的测试进行调用测试,会提示部署后才能测试,点击是 代码部署后会自动开始测试,如果最后显示测试成功,说明代码调用没问题 测试成功后我们再去日志中看看是否打卡成功(成功的话你的邮箱会收到邮件,去看不看日志已经无所谓了),如果调用成功的日志中有成功、打卡成功字样,就说明部署没问题了 4.问题补充🛠️ 如果日志中成功了,却没收到邮件,请检查邮箱配置是否正确,日志是否有报错。🛠️ 部署后首次打卡,一定要校验打卡信息是否正确!🛠️ 因为完美校园会检测设备,所有极有可能造成云函数中打卡后,手机端却提示新设备需要验证码登录,手机端登陆后,服务端也会再次让你用验证码登录,对于这个问题,如果你会的话,可以在config.py中的deviceId设备id改为你手机id,那么这个问题就可以解决了,不会的同学只能老老实实二选一了。🛠️ 因为主修C#、.Net,Python写的比较简单,如过代码有问题的话,请及时反馈,谢谢! 2021-08-25 问题补充:📌 如果执行python3 index.py的时候,报以下错误: UnicodeEncodeError: 'ascii' codec can't encode characters in position 0-4: ordinal not in range只要有'ascii' codec can't encode这样的错误,那就是编码格式的错误,在Python2中,默认编码格式是ascii,在Python3中,默认编码是utf-8,如果Python的编码格式为ascii时运行index.py,就会出现'ascii' codec can't encode这样的错误,解决方式很简单,只要更改下Python的编码方式为utf-8即可,首先我们要先确认下编码格式:在控制台输入python3或python进入Python中,依次输入以下代码: import sys print(sys.getdefaultencoding())如果输出结果为utf-8,那就不用管了,如果是ascii,那就需要改变下编码方式,有一点需要说下,云函数的Python版本是2.7和3.6的,如果输入的是python,那么使用的是Python 2.7,如果输入的是python3,那么使用的是Python 3.6,以下方法仅适用于Python2,所以Python 3.6就可以绕过了,反正Python 3.6默认的是utf-8编码,也不需要改先输入python进入Python中,依次输入以下代码: import sys import imp imp.reload(sys) sys.setdefaultencoding('utf8')如果没有报错就可以输入exit()退出Python了 如果更改后还是报错,那可能是系统编码也不是utf-8,在控制台输入以下代码就可以解决: export LC_ALL="en_US.utf8"🎲 其实好多问题都可在网络上找到,一定要善用百度 |
今日新闻 |
点击排行 |
|
推荐新闻 |
图片新闻 |
|
专题文章 |
CopyRight 2018-2019 实验室设备网 版权所有 win10的实时保护怎么永久关闭 |