viewv/sduhealth

[BUG] 无法打卡,在get_sign_data时出错

ryuujo1573 opened this issue · 8 comments

model.py,在_source_data_中找不到{uuid}[_record]记录(uuid不匹配)
环境:本地运行(Python 3.7.8 | win10 1909 | amd)

以下是console输出

getSignData <Response [200]>
get_sign_data error
Start Checkin!
Network Error!
Get Sign Data Error
Traceback (most recent call last):
File "sduhealth.py", line 333, in
main()
File "sduhealth.py", line 319, in main
raise RuntimeError("Get Sign Data Error")
RuntimeError: Get Sign Data Error

以下是自行尝试的debug:

def get_sign_data(self):
    ...
    json.encode_to_file("./test.json", source_json, overwrite=True)
    # 我把这里的注释去掉,查看test.json找到了一个uuid不匹配的问题

正常运行应该是得到535b1ef6-bf51-4d4c-9ae4-5a90cdc4这个uuid,而我的test.json得到的是2d26dfad-56ae-4cf3-ab26-87112f1e,而导致在model.py中硬编码的uuid字面值无法匹配

截图:把_source_data_中的uuid替换为test.json中实际得到的uuid值后(但没有修改model中的uuid值)
image

修改后运行,提示正常如下

Sign in for xxx
...
getContinueService <Response [200]>
getSignData <Response [200]>
Start Checkin!
Checkin <Response [200]>
Checkin Successful
...
Logout Successful

再次运行,并未提示"You have signed today",使用微信小程序进入打卡页面,发现省市区这部分内容也已经填充好,但是并未提交。
(这里失误忘了截图,我不小心点了提交,无法提供填充后的截图)

请求支援

viewv commented

我想想这是遇到什么问题了,很奇怪你的是 2d26dfad-56ae-4cf3-ab26-87112f1e

viewv commented

我最近的一次打卡也失败了,难道学校改套路了?我看看。
确认大家都失败了,现在正在看是什么问题。

我想想这是遇到什么问题了,很奇怪你的是 2d26dfad-56ae-4cf3-ab26-87112f1e

我之前打过没有问题,我想很可能是这里学校改动了东西

我也失败了,但是今天第一次打卡是成功的,看看明天第一次打卡能不能成功

今天果然失败了,猜测是改动成了2d26dfad-56ae-4cf3-ab26-87112f1e,后续决定不把这个写死,转为从获取的文件中读取

viewv commented

@ryuujo1573 你没有上传你的 model-0201.json

我在test分支里面上传了没有写死的代码,现在的问题是程序运行成功了,但是去学校的官网看,依然显示我没有打卡

viewv commented

已经找到了问题,上传数据中的 rowSetName 也需要动态获取修改,本 issue 不出意外将在修好这个 bug 后 close