From 877fda58298625562078d8398bef789354529808 Mon Sep 17 00:00:00 2001 From: JianFeeeee Date: Mon, 21 Sep 2026 16:26:20 +0800 Subject: [PATCH] =?UTF-8?q?=E8=B7=A8=E7=AB=AF:=20=E8=81=94=E7=B3=BB?= =?UTF-8?q?=E4=BA=BA=E9=A1=B5=E6=A0=87=E9=A2=98=E8=A1=A5=E8=AE=A1=E6=95=B0?= =?UTF-8?q?=EF=BC=88WebUI=20ContactPanel.tsx:68=20=E6=9C=89=E3=80=81?= =?UTF-8?q?=E6=88=91=E4=BB=AC=E6=B2=A1=E6=9C=89=EF=BC=89?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 逐页对齐时逐项比对发现的漏项。 ## 事实 WebUI `ContactPanel.tsx:63-68` 的头部是三段:

{view === 'card' ? '工作列表' : '联系人'}

{contacts.length} ← 这一段我们没有
+ 视图切换按钮 ## 改动 标题右侧补 `contacts.length`,字号/颜色照 WebUI: `text-xs`(12) → `Theme.fontSmall`,`gray-400` → `Theme.textSubtleFor()`。 ★ 用 `textSubtleFor()` 而非写死灰:深色下三级文字要提亮 —— 本仓 2026-09-18 实测过「三级文字浅色也一样不够」(`110de79`)。 ★ 取值与 WebUI 同一个来源(`contacts`),**两个视图共用同一份** —— 所以计数不随列表/卡片视图切换而变(WebUI 也是这样)。 ## 设备验证 点「联系人」后 `uitest dumpLayout`: '联系人' y=189..256 '9' y=203..243 ← 同一行、右侧,正是 WebUI 的位置 (改前该位置为空。) --- .../entry/src/main/ets/pages/MainPage.ets | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) diff --git a/client/harmony/entry/src/main/ets/pages/MainPage.ets b/client/harmony/entry/src/main/ets/pages/MainPage.ets index c29d84c..47b3039 100644 --- a/client/harmony/entry/src/main/ets/pages/MainPage.ets +++ b/client/harmony/entry/src/main/ets/pages/MainPage.ets @@ -2336,6 +2336,23 @@ struct ContactsTab { Column() { Row() { Text(contactViewTitle(this.contactView)).fontSize(20).fontWeight(FontWeight.Bold).fontColor(Theme.textPrimary) + /* + * ★★ 2026-09-21 补(逐页对齐 WebUI 时发现的漏项)。 + * + * WebUI `ContactPanel.tsx:68` 在标题右边有一个**计数**: + * {contacts.length} + * 我们这里没有 —— 于是"有几个人/几条工作"只能靠往下数。 + * + * 取值用 `contacts.length`(与 WebUI 同一个来源),**不是**卡片视图的 + * 别的计数:两个视图共用同一份 `contacts`,所以计数不随视图变。 + * + * 字号/颜色照 WebUI:`text-xs`(12) + `gray-400` → `fontSmall` + `textSubtleFor`。 + * ★ 用 `textSubtleFor()` 而不是写死灰:深色下三级文字要提亮 + * (本仓 2026-09-18 实测过「三级文字浅色也一样不够」)。 + */ + Text(this.contacts.length.toString()) + .fontSize(Theme.fontSmall).fontColor(Theme.textSubtleFor()) + .margin({ left: 8 }) Blank() /* * 40×40 命中区 + 图标居中:尺寸加在**外层 Stack** 上,不加在 `AmIcon` 上。