fix(qdreader): archive daily sign logs at midnight
This commit is contained in:
@@ -1,6 +1,6 @@
|
||||
# 启点读书 QDReader 签到 Autman 插件
|
||||
|
||||
QDReader/起点读书 Autman 签到插件。用户侧触发词统一使用“启点”,避免平台关键词麻烦;QX 只负责抓取 Cookie,账号管理、执行查询和签到都在 Autman 插件内完成。
|
||||
QDReader/起点读书 Autman 签到插件。用户侧触发词统一使用“启点”,避免平台关键词麻烦;QX 只负责抓取 Cookie,账号管理、执行查询、日志归档和签到都在 Autman 插件内完成。
|
||||
|
||||
## 文件位置
|
||||
|
||||
@@ -93,8 +93,9 @@ hermes_qidian
|
||||
qdreader_cookie_json # uid -> full cookie
|
||||
qdreader_user_bind_json # uid -> sender.getUserID(),用户绑定索引
|
||||
qdreader_remark_json # uid -> 备注名
|
||||
qdreader_last_result_json # uid -> 单账号最后执行结果 JSON 字符串
|
||||
qdreader_last_run_json # 最近一次执行批次日志、来源和汇总
|
||||
qdreader_last_result_json # uid -> 单账号当日/当前批次结果 JSON 字符串(每日零点归档前清空)
|
||||
qdreader_last_run_json # 当日/当前批次日志、来源和汇总(每日零点归档前清空)
|
||||
qdreader_archive_json # yyyy-mm-dd -> 已归档批次日志,用于判断历史签到结果
|
||||
qdreader_sign_api # 签名网关
|
||||
qdreader_retry_count # 请求失败重试次数
|
||||
qdreader_cron_silent # 定时无账号静默
|
||||
@@ -127,20 +128,22 @@ set(key, value)
|
||||
- 同时提取 `qdh/QDHeader/guid/qimei/qimei36` 供签名网关使用,其中 `qdh` 只取 Cookie 的 `qdh/QDH`,不再用 `QDHeader` 顶替,避免签名网关 `decodeQDHAuto` 解码失败。
|
||||
2. `POST <qdreader_sign_api>/sign` 获取请求签名头。默认签名网关基址是 `https://api.120399.xyz/qdreader`。
|
||||
3. `POST https://h5.if.qidian.com/argus/api/v3/checkin/checkin` 完成签到。
|
||||
4. 写入单账号最后结果 `qdreader_last_result_json`,包括 `ok/msg/time/source/runId`。
|
||||
5. 写入批次日志 `qdreader_last_run_json`,包括触发来源、开始/结束时间、成功/失败/总数和每账号结果;即使账号执行异常也会记录失败日志。
|
||||
6. 汇总每个账号签到结果。
|
||||
4. 写入单账号当日结果 `qdreader_last_result_json`,包括 `ok/msg/time/source/runId`。
|
||||
5. 写入当日批次日志 `qdreader_last_run_json`,包括触发来源、开始/结束时间、成功/失败/总数和每账号结果;即使账号执行异常也会记录失败日志。
|
||||
6. 每日 00:00 的 cron 触发时,先把上一份 `qdreader_last_run_json` 按完成日期写入 `qdreader_archive_json`,再清空 `qdreader_last_result_json` / `qdreader_last_run_json`,然后执行新一天签到并反馈结果。
|
||||
7. 汇总每个账号签到结果。
|
||||
|
||||
## 查询数据来源
|
||||
|
||||
`启点查询` 不请求起点实时接口,只读取最后执行日志:
|
||||
|
||||
```text
|
||||
qdreader_last_run_json # 最近一次执行批次
|
||||
qdreader_last_result_json # 每个 uid 最近一次执行结果
|
||||
qdreader_last_run_json # 当日/当前批次
|
||||
qdreader_last_result_json # 每个 uid 当日/当前批次结果
|
||||
qdreader_archive_json # 每日零点归档后的历史批次
|
||||
```
|
||||
|
||||
因此“查询”语义是“最近签到记录/最后执行日志”。刚添加但从未执行过的账号会显示“暂无执行记录”。
|
||||
因此“查询”语义是“最近签到记录/最后执行日志”。刚添加但从未执行过的账号会显示“暂无执行记录”。如果当日日志已被零点任务清空,`启点查询` 会回退到最近归档,根据归档中的账号结果判断昨日/历史签到情况并反馈给用户。
|
||||
|
||||
## 本地验证
|
||||
|
||||
|
||||
Reference in New Issue
Block a user