Revert "feat(qqmusic): 标题带结论 + 首行放摘要,折叠状态也能看关键信息"
This reverts commit f5c9ca6fa1.
This commit is contained in:
@@ -834,7 +834,7 @@ async function main() {
|
||||
return
|
||||
}
|
||||
|
||||
const blocks = { body: [], total: 0, warn: 0 }
|
||||
const blocks = []
|
||||
let allDone = true
|
||||
for (const a of accounts) {
|
||||
log(`\n===== 账号 ${a.uin} =====`)
|
||||
@@ -843,46 +843,30 @@ async function main() {
|
||||
const r = await cli.run()
|
||||
if (r.dead) {
|
||||
allDone = false
|
||||
blocks.warn += 1
|
||||
blocks.body.push(`🔴 ${a.uin}:登录态失效\n └ 请重新在网页抓 qm_keyst 更新 env`)
|
||||
blocks.push(`🔴 ${a.uin}:登录态失效\n └ 请重新在网页抓 qm_keyst 更新 env`)
|
||||
continue
|
||||
}
|
||||
blocks.total += r.total || 0
|
||||
blocks.warn += (r.steps || []).filter(s => s.status === 'warn' || s.status === 'fail').length
|
||||
if (r.verdict === 'fail') allDone = false
|
||||
blocks.body.push(renderAccount(a.uin, r))
|
||||
blocks.push(renderAccount(a.uin, r))
|
||||
} catch (e) {
|
||||
allDone = false
|
||||
blocks.warn += 1
|
||||
log(`[QQ音乐] 账号 ${a.uin} 运行异常: ${e.message}`)
|
||||
blocks.body.push(`🔴 ${a.uin}:运行异常\n └ ${e.message}`)
|
||||
blocks.push(`🔴 ${a.uin}:运行异常\n └ ${e.message}`)
|
||||
}
|
||||
}
|
||||
// 三态结论:全好 / 有遗留(不影响主流程)/ 有失败或失效
|
||||
const state = !allDone ? 'fail' : (blocks.warn > 0 ? 'warn' : 'done')
|
||||
const head = { done: '✅ 全部完成', warn: '✅ 已完成', fail: '⚠️ 有未完成项' }[state]
|
||||
// 摘要行放最前面:pushplus 的微信模板消息默认只展示标题 + 正文开头,
|
||||
// 不点开「查看详情」看不到后面。所以把关键数字压进第一行,折叠也能看到。
|
||||
const sum = accounts.length === 1
|
||||
? `成长值 +${blocks.total}${blocks.warn ? ` · ${blocks.warn} 项待处理` : ''}`
|
||||
: `${accounts.length} 个账号 · 成长值 +${blocks.total}${blocks.warn ? ` · ${blocks.warn} 项待处理` : ''}`
|
||||
const desp = [`${head} · ${sum}`, '', ...blocks.body].join('\n')
|
||||
const head = allDone ? '✅ QQ音乐签到 · 全部完成' : '⚠️ QQ音乐签到 · 有未完成项'
|
||||
const desp = [head, '', ...blocks].join('\n')
|
||||
+ `\n\n———`
|
||||
+ `\n轮次: 00:01 / 06:02 双轮(任务20跨天滚动 + 福利站兜底)`
|
||||
+ `\n节目任务(20)依赖 App 内正常收听计入(播放上报未启用)`
|
||||
+ `\n时间: ${new Date().toLocaleString('zh-CN', { timeZone: 'Asia/Shanghai' })}`
|
||||
// 标题只放状态、不放数字:平台的抑制指纹是 sha256(kind|credId|title去数字),
|
||||
// 标题带数字会被 titleKeyOf 剥掉,指纹仍然稳定,抑制不会失效。
|
||||
const title = `QQ音乐签到 ${{ done: '✅', warn: '🟡', fail: '⚠️' }[state]}`
|
||||
let sendNotifyFn = null
|
||||
try { sendNotifyFn = require('../sendNotify').sendNotify } catch (e) {
|
||||
// 静默吞掉会让「通知没发出去」完全不可见 —— 必须留一行,否则只能靠猜
|
||||
log(`[通知] sendNotify 不可用(${e.message.split('\n')[0]}),本轮不发推送`)
|
||||
}
|
||||
if (sendNotifyFn) {
|
||||
// 第四参传空串:默认会往正文尾部追加「本通知 By:github.com/whyour/qinglong」,
|
||||
// 平台转发时这行也会进 notify_events.content,纯噪音。
|
||||
try { await sendNotifyFn(title, desp, {}, '') } catch (e) { log(`[通知] 推送失败: ${e.message}`) }
|
||||
try { await sendNotifyFn('QQ音乐签到', desp) } catch (e) { log(`[通知] 推送失败: ${e.message}`) }
|
||||
}
|
||||
log(`\n===== 汇总 =====\n${desp}`)
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user