feat(gateway): 账号在线三态(后端 AccountStatus 可选接口 + 面板第二枚标签 + 契约账目更正)
CI / Backend (build / vet / test / cross-compile) (push) Has been cancelled
CI / Frontend (tsc + vite build) (push) Has been cancelled

- known=false ⇒ accountOnline 键**缺席**(未知 ≠ 离线),与既有 connected 语义并列不合并
- 面板:账号在线/账号离线/账号状态未知 三态 + 中性灰 tone + 「这不等于离线」悬停说明
- 测试:gateway 跨层锁「键缺席」(用真 qq_obv11.Adapter)+ 面板 61/40 断言
- 变异:known 当离线 ⇒ 两条测试同时红(已复跑确认)
- Docs/api-client.md:§7.2 那行由未实现改已实现(留表,注明下版移入 §7.1)
This commit is contained in:
AskaEth committed 2026-10-05 13:29:53 +08:00
1 parent 7ae4298871
commit 52dac4575f
10 files changed
+456 -16

No files matched your search

+6
View File
@@ -70,6 +70,12 @@ export interface AdminChannelAccount {
* 适配器 ⇒ 状态**未知**,绝不是「未连接」:面板必须据此禁用「断开」
* (断一条状态未知的账号是盲操作),而「连接」仍可点。 */
connected?: boolean;
/** 该账号**在平台侧**是否在线(后端可选 `accountOnline`,契约 v0.67 §2.4(b))。
* 与 `connected` 是两件事:OneBot 的进程/WS 可以一直连着,而背后的 QQ 账号已掉线
* —— 此时 `connected:true` 而 `accountOnline:false`,消息收不到也发不出。
* 缺省(undefined)= **状态未知**(该渠道没有独立账号状态面,或尚未探到结果),
* 面板画「账号状态未知」,**绝不**画成「账号离线」。 */
accountOnline?: boolean;
}
/** The weixin-iLink scan-login QR payload (GET /admin/channels/{platform}/login-qr).