fix(comments): 额度故障态提示去冗余 + 修「误恢复」bug + 本地复现开关

服务端 D1 额度用尽时同屏会出现三层重复提示,且故障态会被定期误解除。

- 提示从三层收敛为两层:横幅只留一句极简状态(⏸ 评论暂停中,预计明早 8:00 恢复),
  卡片是唯一详细说明并紧贴编辑器;删掉「点击编辑器再弹一遍 toast」
- 修 bug:恢复判定原来过于宽松,任何 conf/comments/captcha/votes/pages 请求成功都算恢复;
  但 /captcha/status 走 KV 不读 D1,60s 探针恒成功 → 故障态每 60s 被误撤,编辑器看似正常
  实则列表还挂着。现在恢复只认评论列表本身成功,探针改用 GET /comments?limit=1(真读 D1)
- 故障态不再灰化编辑器(opacity+grayscale 观感很差),只禁交互,原因由横幅说明
- 服务端 errors.ts 文案去掉与卡片标题重复的「评论服务暂时不可用」前缀
- 新增本地调试开关:仅 localhost 下 ?atk_svc=<code> 强制进入故障态,便于排查,生产不生效

改动文件:themes/Ying/assets/js/modules/artalk.js、blog-admin/src/lib/errors.ts
(errors.ts 需下次部署 Worker 才在线上生效,前端已做旧文案兼容清洗)
This commit is contained in:
zqlit committed 2026-10-04 18:04:47 +08:00
1 parent 571d552c9d
commit e8c991274a
2 files changed
+57 -23

No files matched your search

+3 -3
View File
@@ -52,7 +52,7 @@ export function friendlyError(e: unknown): FriendlyError {
return {
status: 503,
code: 'd1_quota',
msg: '评论服务暂时不可用:数据库今日读取额度已用尽,北京时间明早 8:00 自动恢复。给你带来不便,可以先看看文章,稍后再来。',
msg: '数据库今日读取额度已用尽,明早 8:00 自动恢复。你可以先看看文章,稍后再来~',
detail,
};
}
@@ -61,7 +61,7 @@ export function friendlyError(e: unknown): FriendlyError {
return {
status: 503,
code: 'd1_unavailable',
msg: '评论服务暂时不可用(数据库连接异常),我们正在处理,请稍后再试。',
msg: '数据库连接异常,我们正在处理,请稍后再试。',
detail,
};
}
@@ -79,7 +79,7 @@ export function friendlyError(e: unknown): FriendlyError {
return {
status: 503,
code: 'unavailable',
msg: '评论服务暂时不可用,请稍后重试。',
msg: '服务或网络有点问题,请稍后重试。',
detail,
};
}