From 9400aa05c9ff04d84f5593d72e8a83418d912080 Mon Sep 17 00:00:00 2001 From: Hermes Agent Date: Sun, 17 May 2026 11:50:44 +0800 Subject: [PATCH] feat: show full qdreader autman submit command --- README.md | 36 ++++++++++++------------- qx/rewrite/qdreader_cookie.js | 29 +++++++++++--------- qx/subscribe/qdreader.qx.snippet | 4 +-- qx/subscribe/qdreader.subscription.json | 18 ++++++------- 4 files changed, 46 insertions(+), 41 deletions(-) diff --git a/README.md b/README.md index 75133ea..af91ea6 100644 --- a/README.md +++ b/README.md @@ -1,12 +1,12 @@ # qdreader-autman-sign -起点读书(QDReader)Cookie 获取 + Autman 机器人签到插件。 +启点读书(QDReader)Cookie 获取 + Autman 机器人签到插件。 设计修正后:**Quantumult X 只负责获取 Cookie**;**Autman 插件负责保存 Cookie 并执行签到**。签到请求复用上游 `Yuheng0101/X/Tasks/QDReader` 的核心方式:用 H5 Cookie 解析 `QDHeader/uid/guid/qimei`,调用签名网关 `https://api.120399.xyz/sign` 生成起点接口所需签名头,再请求起点 H5 福利中心签到接口。 ## 目录 -- `qx/rewrite/qdreader_cookie.js`:QX 重写 JS,拦截起点读书 `getlogininfo`,自动保存 Cookie 并生成提交文本。 +- `qx/rewrite/qdreader_cookie.js`:QX 重写 JS,拦截起点读书 `getlogininfo`,自动保存 Cookie 并弹窗展示完整快速登录命令 + CK。 - `qx/subscribe/qdreader.qx.snippet`:QX 订阅片段。 - `qx/subscribe/qdreader.subscription.json`:订阅 JSON。 - Autman 正式插件已迁移到统一插件仓库:`Hermes/autman-plugins/plugins/qdreader/qdreader_sign_autman.js`。 @@ -36,10 +36,10 @@ hostname = h5.if.qidian.com 1. QX 开启 MitM 并信任证书。 2. 启用上面的重写。 3. 打开起点读书 App → 我的 → 福利中心。 -4. QX 通知显示 `Cookie 新增成功` 或 `Cookie 更新成功`。 +4. QX 通知/弹窗显示 `Cookie 新增成功` 或 `Cookie 更新成功`,正文包含完整 `启点ck ` 快速登录命令,可直接复制发给 Autman 机器人。 5. QX 会写入两个持久化变量: - `QDREADER_COOKIE`:JSON Map,格式 `{ "uid": "cookie" }` - - `QDREADER_AUTMAN_SUBMIT_TEXT`:可直接发给 Autman 机器人的文本,格式 `起点ck ` + - `QDREADER_AUTMAN_SUBMIT_TEXT`:可直接发给 Autman 机器人的完整快速登录命令,格式 `启点ck ` ## 2. Autman 签到插件 @@ -58,35 +58,35 @@ https://gitea.chickliu.fun/Hermes/autman-plugins/raw/branch/main/js/qdreader_sig 插件规则: ```text -起点ck ... -起点签到 ... -起点读书 ... +启点账号 +启点查询 +启点ck ... +启点签到 ... +启点读书 ... qdreader ... ``` 定时运行:插件头注已内置 `//[cron: 15 7 * * *]`,每日 07:15 自动执行全部账号签到。 -手动运行:直接给 Autman 机器人发送 `起点签到`;单账号发送 `起点签到 `。 +手动运行:直接给 Autman 机器人发送 `启点签到`;单账号发送 `启点签到 `。 交互命令: ```text -起点ck -起点ck json {"uid":"cookie"} -起点ck 查询 -起点ck 导出 -起点ck 删除 -起点签到 -起点签到 -起点ck 帮助 +启点账号 +启点查询 +启点ck +启点签到 +启点签到 +qdreader sign ``` -保存位置:Autman 参数 `qdreader_cookie_json`,格式兼容上游脚本环境变量 `QDREADER_COOKIE`: +保存位置:Autman 插件专属 bucket `hermes_qidian.qdreader_cookie_json`,格式兼容上游脚本环境变量 `QDREADER_COOKIE`: ```json {"uid":"cookie"} ``` -签名网关参数:`qdreader_sign_api`,默认: +签名网关参数:`hermes_qidian.qdreader_sign_api`,默认: ```text https://api.120399.xyz diff --git a/qx/rewrite/qdreader_cookie.js b/qx/rewrite/qdreader_cookie.js index d810ef2..720c432 100644 --- a/qx/rewrite/qdreader_cookie.js +++ b/qx/rewrite/qdreader_cookie.js @@ -1,12 +1,12 @@ /* - * 起点读书 Cookie 自动获取/更新 - Quantumult X + * 启点读书 Cookie 自动获取/更新 - Quantumult X * 只负责抓取 Cookie 并生成“复制给 Autman 机器人”的提交文本,不主动请求 Autman。 * * 抓取:打开起点读书 App → 我的 → 福利中心。 * 抓到后会: * 1. 保存/更新 QX 本地 QDREADER_COOKIE(JSON Map) * 2. 写入 QDREADER_AUTMAN_SUBMIT_TEXT,内容可直接复制发给 Autman 机器人 - * 3. 通知里展示提交命令摘要 + * 3. 通知/弹窗里展示完整快速登录命令 + CK,便于直接复制 */ const KEY = 'QDREADER_COOKIE' @@ -45,21 +45,25 @@ function getUid(cookie, body) { uid = obj && obj.Data && obj.Data.UserInfo && (obj.Data.UserInfo.UserId || obj.Data.UserInfo.userId) return uid ? String(uid) : '' } -function notify(title, sub, msg) { $notify(title, sub || '', msg || '') } -function preview(s, n) { - s = String(s || '') - return s.length > n ? s.slice(0, n) + '…' : s +function notify(title, sub, msg, opts) { + try { $notify(title, sub || '', msg || '', opts || {}) } catch (e) { $notify(title, sub || '', msg || '') } +} +function copyAction(command) { + return { + 'open-url': 'shortcuts://run-shortcut?name=Copy&input=text&text=' + encodeURIComponent(command), + 'media-url': 'data:text/plain;charset=utf-8,' + encodeURIComponent(command) + } } const cookie = getHeader($request && $request.headers, 'Cookie') if (!cookie) { - notify('起点读书', 'Cookie 获取失败', '请求中没有 Cookie') + notify('启点读书', 'Cookie 获取失败', '请求中没有 Cookie') $done({}) } else { const body = typeof $response !== 'undefined' ? ($response.body || '') : '' const uid = getUid(cookie, body) if (!uid) { - notify('起点读书', 'Cookie 获取失败', '无法识别 uid,请确认已登录并进入福利中心') + notify('启点读书', 'Cookie 获取失败', '无法识别 uid,请确认已登录并进入福利中心') $done({}) } else { const old = parseJson($prefs.valueForKey(KEY) || '{}', {}) || {} @@ -69,8 +73,8 @@ if (!cookie) { const jsonMap = JSON.stringify(old) $prefs.setValueForKey(jsonMap, KEY) - // 发给 Autman 机器人的命令。插件支持“起点ck ”和“起点ck json ”。 - const submitText = `起点ck ${cookie}` + // 发给 Autman 机器人的完整快速登录命令。Autman 插件保留“启点ck ”快速提交通道。 + const submitText = `启点ck ${cookie}` $prefs.setValueForKey(submitText, SUBMIT_KEY) const title = isNew ? 'Cookie 新增成功' : (changed ? 'Cookie 更新成功' : 'Cookie 未变化') @@ -78,9 +82,10 @@ if (!cookie) { `Uid: ${uid}`, `账号数: ${Object.keys(old).length}`, `提交文本已写入 QX 变量: ${SUBMIT_KEY}`, - `发给 Autman 机器人:${preview(submitText, 180)}` + '下面是完整快速登录命令,可直接复制发给 Autman 机器人:', + submitText ].join('\n') - notify('起点读书', title, msg) + notify('启点读书', title, msg, copyAction(submitText)) $done({}) } } diff --git a/qx/subscribe/qdreader.qx.snippet b/qx/subscribe/qdreader.qx.snippet index 88c3eff..2185496 100644 --- a/qx/subscribe/qdreader.qx.snippet +++ b/qx/subscribe/qdreader.qx.snippet @@ -2,8 +2,8 @@ hostname = h5.if.qidian.com [rewrite_local] -# > 起点读书获取 Cookie:只保存本地并生成可复制给 Autman 机器人的“起点ck ...”文本 +# > 启点读书获取 Cookie:只保存本地并弹窗展示可复制给 Autman 机器人的完整“启点ck ...”文本 ^https?:\/\/h5\.if\.qidian\.com\/argus\/api\/v1\/user\/getlogininfo url script-response-body https://gitea.chickliu.fun/Hermes/qdreader-qx-cookie-autman-bot/raw/branch/main/qx/rewrite/qdreader_cookie.js -# 签到由 Autman 插件仓库 Hermes/autman-plugins/plugins/qdreader/qdreader_sign_autman.js 执行;插件内置每日 07:15 定时任务,也支持手动“起点签到”。 +# 签到由 Autman 插件仓库 Hermes/autman-plugins/plugins/qdreader/qdreader_sign_autman.js 执行;插件内置每日 07:15 定时任务,也支持手动“启点签到”。 diff --git a/qx/subscribe/qdreader.subscription.json b/qx/subscribe/qdreader.subscription.json index e4a3f62..62fbf75 100644 --- a/qx/subscribe/qdreader.subscription.json +++ b/qx/subscribe/qdreader.subscription.json @@ -1,12 +1,12 @@ { - "name": "起点读书 QDReader Cookie + Autman Sign", - "description": "Quantumult X 重写只负责自动获取/更新起点读书 Cookie,并生成可复制给 Autman 签到插件的提交文本;签到由统一 Autman 插件仓库中的插件执行,插件内置定时和手动运行。", + "name": "启点读书 QDReader Cookie + Autman Sign", + "description": "Quantumult X 重写只负责自动获取/更新起点读书 Cookie,并弹窗展示可复制给 Autman 签到插件的完整快速登录命令;签到由统一 Autman 插件仓库中的插件执行,插件内置定时和手动运行。", "mitm": [ "h5.if.qidian.com" ], "rewrite": [ { - "name": "起点读书获取 Cookie", + "name": "启点读书获取 Cookie", "match": "^https?:\\/\\/h5\\.if\\.qidian\\.com\\/argus\\/api\\/v1\\/user\\/getlogininfo", "type": "script-response-body", "script": "https://gitea.chickliu.fun/Hermes/qdreader-qx-cookie-autman-bot/raw/branch/main/qx/rewrite/qdreader_cookie.js" @@ -19,15 +19,15 @@ "js_runtime_copy": "https://gitea.chickliu.fun/Hermes/autman-plugins/raw/branch/main/js/qdreader_sign_autman.js", "cron": "15 7 * * *", "manual_commands": [ - "起点ck ", - "起点签到", - "起点签到 ", - "起点ck 查询", - "起点ck 删除 " + "启点ck ", + "启点签到", + "启点签到 ", + "启点账号", + "启点查询" ] }, "prefs": { "QDREADER_COOKIE": "QX 本地保存的 Cookie JSON Map", - "QDREADER_AUTMAN_SUBMIT_TEXT": "可直接复制发给 Autman 机器人的提交文本:起点ck " + "QDREADER_AUTMAN_SUBMIT_TEXT": "可直接复制发给 Autman 机器人的完整快速登录命令:启点ck " } }