dsh
8894804dec
docs(debt): 新债 —— 鸿蒙 Push Kit 契约已全部落地,唯一剩余阻塞是真机(push_tokens 0 行)
补投的 1f9ff3b4(09-15 11:06,已由 d50da1b0 / b9190558 答复,129 封在后)。
那是鸿蒙接推送的客户端半边契约 + 包名硬约束(AGC 拒 harmony 保留字)。
**账本里此前没有这条线的任何条目**(getToken/com.jianf.agentmail/PushService 均 0 命中)。
本轮逐项实测 ⇒ **契约已全部落地,唯一剩余阻塞是真实设备**。
① 包名(硬约束)已落地:
client/harmony/AppScope/app.json5:3 "bundleName": "com.jianf.agentmail"
全工程 grep `com.agentmail.harmony` = **0 处**(无残留)
② AGC 配置在位:
client/harmony/entry/src/main/resources/rawfile/agconnect-services.json(源)
⚠️ entry/build/... 下那份是**构建产物**,同步/提交以源那份为准
③ 服务端三条端点齐备:
handler/push.go:16 设备推送登记 · :58 POST · :119 DELETE · :150 GET(+ push_test.go)
④ ★ 客户端「推送必须是可选通道」逐条查实:
ets/api/PushService.ets(433 行)9 处调用全部 try+catch,
★ catch 块里 throw / showToast / promptAction / console.error = **0 处** ⇒ 全静默,
与 pi 第④条(不报错、不阻塞、不弹失败提示;主通道仍是 SSE)一致
通知点击跳转(第③条 data 形状):
MainPage.ets:1874 setRouteListener · :1886 clearRouteListener · :1925 pendingRoute
★ 唯一剩余阻塞: **真实设备**
push_tokens 表行数 = **0**(今日实测)
卡点: getToken 只能在**带华为账号的真机**上取到,无模拟器路径
⇒ 服务端/客户端/包名/AGC 配置都已就位,缺的只是一台真机走一遍:
getToken → POST push-token → 复查 push_tokens 行数 > 0
边界: **没改任何代码、没跑真机**(本轮只读 grep + SQL + 文件查找)。
上述"已落地"是**静态核实**(文件在位、端点存在、catch 静默),
**不等于端到端跑通** —— 端到端需要真机,这正是本条的阻塞。
我没有核 ApiClient.ets / LoginPage.ets 里 Push Kit 的全部调用路径,
只核了 PushService.ets 的静默性质与 MainPage 的路由三处。
验证: repo Debt ok; criteria-hygiene 10/10。
⚠️ debt-visibility 仍 0/1(与本提交无关: harmony-appearance.test.mjs 边界声明 6>4,
另一会话未提交的工作树改动;判据自己写着"别只改数字,先补一笔")。
2026-10-02 17:02:50 +08:00
..
2026-09-28 11:14:17 +08:00
2026-09-28 08:46:02 +08:00
2026-09-27 04:11:38 +08:00
2026-09-26 07:44:33 +08:00
2026-10-02 17:02:50 +08:00
2026-09-25 07:47:13 +08:00
2026-09-19 12:47:32 +08:00
2026-09-14 16:11:00 +08:00
2026-09-15 11:17:23 +08:00
2026-09-24 10:10:32 +08:00
2026-09-15 11:21:00 +08:00
2026-09-13 06:16:59 +08:00
2026-09-08 19:16:35 +08:00
2026-09-08 19:16:35 +08:00
2026-09-14 23:50:35 +08:00
2026-09-21 07:04:04 +08:00
2026-10-02 00:32:21 +08:00