Files
MailUI4Agents/docs/HARMONY-ALIGN-PLAN.md
JianFeeeee fac30eb09c docs(harmony): 鸿蒙对齐移交 dsh(jianf 指定),计划文档记入负责人与纪律
用户:「鸿蒙 ui 应当交给对这一块更熟悉的 dsh 负责」。

- 给 dsh 发了移交信(新线索 `harmony-ui-alignment`),交代:
  当前状态(P1 完成)、分期(P2–P6)、**判据纪律**(结构类改动必须配"点它"的判据
  —— WebUI 侧就是因此漏掉了"点日历不翻页")、**避坑清单**(不许新写死颜色;
  这个应用没有真正的深色主题,别让单个面自己变深;玻璃只该出现一次;
  列表项每项一张卡;ArkTS 的 `arkts-no-any-unknown`/`arkts-no-standalone-this`;
  视觉不可验要如实标注)、以及两条服务端语义(已读按读者记录;
  授权被拒的备注必须送达模型)。
- `HARMONY-ALIGN-PLAN.md` 记入负责人与移交线索,并标明 P1 已完成、P2–P6 归 dsh。

分工:鸿蒙归 dsh,WebUI/Electron 与网关仍归 pi;需要两边同时改令牌之类的配合,
由 dsh 回信给我。
2026-09-14 13:13:44 +08:00

3.9 KiB
Raw Blame History

鸿蒙客户端与 WebUI 的对齐计划

用户2026-09-14「安排对齐」「鸿蒙 ui 应当交给对这一块更熟悉的 dsh 负责」。 这份文档把差距分期写清楚,免得每轮都从"感觉还差什么"重新猜。

负责人dsh2026-09-14 起由 jianf 指定)。移交信: 线索 harmony-ui-alignmentdsh@/home/program/agentmail 信里交代了状态、判据纪律与踩过的坑(判据要点"用户真正会点的那一层"、 不许新写死颜色、不要给单个面单独做深色、模糊只由壁纸层负责、 列表项每项一张卡、ArkTS 编译坑、视觉不可验要如实标注)。

pi保留 WebUI/Electron 侧:需要两边一起加令牌之类的配合,回信给 pi。

一、现在的差距(有据可查)

能力 WebUI 鸿蒙 差距性质
收件箱
会话 (通信页签) (独立 tab 交互不同
联系人
发件箱 (通信页签) 缺页面(数据现成)
授权(权限决策) (通信页签 + 详情内决策) 缺页面API 现成)
日历 缺页面(最大一块)
管理(用户管理) (我的页底部,管理员可见) 缺页面 + 权限判定
写信 共用 Composer 独立实现 组件未统一
底部/侧边导航 悬浮玻璃条 ⚠️ 系统 TabBar 观感不同
主题 / 壁纸(账号级) 服务端同步 未接
设计令牌 :root Theme.ets 已对齐(判据钉住)

二、已经做完的(本轮之前)

  • 设计令牌共用common/Theme.ets 与 WebUI 的 :root 一一对应 (品牌蓝、圆角 14/8、导航玻璃 0.72、语义色、字号),并由 client/electron/test/cross-client-theme.test.mjs 钉住取值一致性。
  • 旧调色板清除:页面里的 #1A73E8Google 蓝)/#333333/#F5F7FA 等 与 WebUI 不同的写死色值全部换成令牌203 处)。
  • 修掉只剩第一个 tab 高亮的 bugcurrentIndex === 0 写死)。

三、分期(按"能独立验收"切)

P1 设计语言pi 已完成) —— 令牌 + 颜色替换 + 编译通过。以下 P2P6 归 dsh。

P2 发件箱:复用现有列表组件,接口 /mail/sent。验收:能看到已发邮件、 点开进详情;空态有说明。为什么先做它:与收件箱同构,风险最低。

P3 授权页:导航加一项「授权」,列表用 permission_* 字段, 决策走 POST /permission/{id}/decide;详情内也支持决策。 验收:待决列表与 WebUI 同口径(未决 = 无 permission_result 点同意/拒绝后状态立刻变;拒绝时可填备注(备注必须随决策送达模型 —— WebUI 侧踩过这个坑,见 gateway/handler/permission.go 的 Note 传递)。

P4 主题/壁纸同步:接 GET/PUT /me/appearance + 图片走带认证的 fetch。 验收:换账号后外观跟随;服务端"无记录"时以本地为准(不要用默认值覆盖 —— 同 WebUI

P5 玻璃悬浮导航:自定义底栏(圆角 + 半透明 + backgroundBlurStyle 取代系统 TabBar。注意:视觉验收需要设备或签名 HAP 本机 hdc list targets 为空 ⇒ 只能保证编译与结构,观感要人眼确认。

P6 日历:网格 + 事件读写 + 左右滑动翻页(复用 WebUI 的手势阈值: 水平 ≥40px、≥1.5× 垂直、<600ms。这一块最大单独排。

四、验收纪律(照 WebUI 那套)

  1. 每个页面都要有点它的判据WebUI 侧就是因为只验结构没验点击, 漏掉了"侧栏点了不翻页")。
  2. 判据不许只看截图:要量几何/对比度/命中区。
  3. 无法验证的要如实标注(例如"编译通过、视觉未验"),不能写成"已完成"。