1 Star 6 Fork 2

Jiang Du/Auto-dailyup-西电疫情通晨午检自动填报工具

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
该仓库未声明开源许可证文件(LICENSE),使用请关注具体项目描述及其代码上游依赖。
克隆/下载
main.py 4.89 KB
一键复制 编辑 原始数据 按行查看 历史
from utils import Utils
from utils import USER
import time
from functions import updateTimeLib, checkTime, checkInternetConnection, getInfo, replace_char
if __name__ == '__main__':
if checkInternetConnection():
print("联网成功!")
else:
raise RuntimeError("没有网,填个锤子呀,嘤~")
# 获取配置信息
config = getInfo()
# 用户登录
cookie = USER.login(config)
if config["passWord"]:
# 登录后立即销毁内存空间中的密码,采用逐字节擦写,更大限度的隐私保护
if replace_char(config["passWord"], len(config["passWord"])):
raise RuntimeError("内存地址访问失败,嘤~")
print("为了保护用户隐私,登录成功后已自动销毁密码,可以放心使用。")
# 选择模式
line = input("请选择:1-疫情通,2-晨午晚检,按回车键结束:")
# 定义上报结束之后的冷却时间(s)
cd_time = 180
# 是否开启夜间睡眠模式
night_mood = True
# 定义程序上报的时间,初始值为 7:15, 12:05, 18:10
time_lib = [7, 15, 12, 5, 18, 10]
if line[0]=='1':
config["mode"] = "疫情通"
print("已选择疫情通")
# 程序运行时立即上报一次
# 第一次上报不判断函数返回值,因为假设用户还在电脑旁,可以实时观察程序输出结果
Utils.upload_ncov_message(cookie, config)
# 立即更新今日上报时间
time_lib = updateTimeLib(time_lib, single = True)
# 填报过一次之后再选择
line = input("请选择是否开启盲盒模式,以便给您平淡的生活带来很多小确幸:1-关闭(默认),2-开启(免费试用),按回车键结束:")
if len(line) and (line[0]=='1'):
# 关闭
config["happy_box"] = False
else:
# 开启
config["happy_box"] = True
# 开始上报
while True:
# 每天早上自动填疫情通
currentState = checkTime(time_lib)
if currentState == 1:
# 如果还没登录的话,先登录
if not cookie:
cookie = USER.login()
# 函数返回值为1表示上报失败,将自动重试3次
if Utils.upload_ncov_message(cookie, config):
time.sleep(90)
if Utils.upload_ncov_message(cookie, config):
time.sleep(180)
if Utils.upload_ncov_message(cookie, config):
print("连续尝试了3次都上报失败啦,嘤嘤嘤!")
# 上报结束之后的冷却时间
time.sleep(cd_time)
elif currentState == 4:
# 每天23点55分,更新下一天填疫情通的随机时刻
time_lib = updateTimeLib(time_lib, single = True)
if night_mood:
# 进入夜间睡眠模式
print("程序将进入睡眠模式,祝您晚安!")
# 夜间暂停6小时
time.sleep(6*60*60)
print("早上好!")
else:
time.sleep(30)
else:
config["mode"] = "晨午晚检"
print("已选择晨午晚检")
# 程序运行时立即上报一次
Utils.upload_ncov_message(cookie, config)
# 立即更新今日上报时间
time_lib = updateTimeLib(time_lib)
# 开始上报
while True:
# 获取当前是否需要上报的模式,1, 2, 3分别对应晨午晚检
currentState = checkTime(time_lib)
if currentState in (1, 2, 3):
# 如果还没登录的话,先登录
if not cookie:
cookie = USER.login()
# 函数返回值为1表示上报失败,将自动重试3次
if Utils.upload_ncov_message(cookie, config):
time.sleep(90)
if Utils.upload_ncov_message(cookie, config):
time.sleep(180)
if Utils.upload_ncov_message(cookie, config):
print("连续尝试了3次都上报失败啦,嘤~")
# 上报结束之后的冷却时间
time.sleep(cd_time)
elif currentState == 4:
# 每天23点55分,更新下一天上报的随机时刻
time_lib = updateTimeLib(time_lib)
if night_mood:
# 进入夜间睡眠模式
print("程序将进入睡眠模式,祝您晚安!")
# 夜间暂停6小时
time.sleep(6*60*60)
print("早上好!")
elif currentState == 5:
# 整点报时
time.sleep(60)
else:
time.sleep(30)
马建仓 AI 助手
尝试更多
代码解读
代码找茬
代码优化
Python
1
https://gitee.com/jiangdu/Auto-dailyup.git
git@gitee.com:jiangdu/Auto-dailyup.git
jiangdu
Auto-dailyup
Auto-dailyup-西电疫情通晨午检自动填报工具
master

搜索帮助