fix(qdreader): archive immediately after sign

This commit is contained in:
2026-05-20 12:21:54 +08:00
parent d09073c33c
commit 74a8e45405
5 changed files with 69 additions and 99 deletions
+10 -10
View File
@@ -1,13 +1,13 @@
# 启点读书 QDReader 签到 Autman 插件
QDReader/起点读书 Autman 签到插件。用户侧触发词统一使用“启点”,避免平台关键词麻烦;QX 只负责抓取 Cookie。账号管理、执行查询、签到和日志归档都在同一个 Autman 插件内完成;业务上使用一个 cron 表达式 `1 0,7 * * *`:每日 00:01 只归档清日志,每日 07:01 只执行签到。
QDReader/起点读书 Autman 签到插件。用户侧触发词统一使用“启点”,避免平台关键词麻烦;QX 只负责抓取 Cookie。账号管理、执行查询、签到和日志归档都在同一个 Autman 插件内完成;使用一个简单 cron 表达式 `1 7 * * *`:每日 07:01 执行签到,签到运行结束后马上把本次运行日志写入归档并清空最近运行日志,不再依赖零点归档定时
## 文件位置
正式插件文件:
```text
plugins/qdreader/qdreader_sign_autman.js # 单插件单 cron00:01 归档清日志07:01 运行签到
plugins/qdreader/qdreader_sign_autman.js # 单插件单 cron07:01 签到;运行后立即归档清日志
```
实机 JS 导入副本:
@@ -95,8 +95,8 @@ 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 # 请求失败重试次数
@@ -132,10 +132,10 @@ set(key, value)
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. 插件内只有一个 cron`1 0,7 * * *`
7. 每日 00:01 触发时只做日志归档;系统触发按小时分流,0 点分支归档:把上一份 `qdreader_last_run_json` 按完成日期写入 `qdreader_archive_json`,再清空 `qdreader_last_result_json` / `qdreader_last_run_json`;不请求签名网关、不执行签到。
8. 每日 07:01 触发时只执行签到并反馈结果,不做归档。
9. 汇总每个账号签到结果。
6. 插件内只有一个 cron`1 7 * * *`
7. 每日 07:01 触发时执行签到。
8. 签到运行结束后,马上把本次 `qdreader_last_run_json` 按完成日期写入 `qdreader_archive_json`,再清空 `qdreader_last_result_json` / `qdreader_last_run_json`;手动签到同样会立即归档。
9. 汇总每个账号签到结果,并在回复中提示归档日期
## 查询数据来源
@@ -144,10 +144,10 @@ set(key, value)
```text
qdreader_last_run_json # 当日/当前批次
qdreader_last_result_json # 每个 uid 当日/当前批次结果
qdreader_archive_json # 每日零点归档的历史批次
qdreader_archive_json # 每次签到后立即归档的历史批次
```
因此“查询”语义是“最近签到记录/最后执行日志”。刚添加但从未执行过的账号会显示“暂无执行记录”。如果当日日志已被零点任务清空,`启点查询` 会回退到最近归档,根据归档中的账号结果判断昨日/历史签到情况并反馈给用户。
因此“查询”语义是“最近签到记录/最后执行日志”。刚添加但从未执行过的账号会显示“暂无执行记录”。因为签到完成后最近日志会立即归档并清空,`启点查询` 会回退到最近归档,根据归档中的账号结果判断最近签到情况并反馈给用户。
## 本地验证