feat(ui06): App line A0-A7 — nav pill removal, light segments, bare summary, token alignment to app-preview

- tokens:次文字 #69778E、soft/card-border/seg 色组、输入圆角 10(kRadiusField)
- theme:导航 indicatorColor 透明+显式选中蓝;卡片去阴影改 1px #EDF0F5 边框;输入边框同步
- 新组件 SegmentTabs(#EDF1F6 轨道/选中实蓝/light 浅蓝变体/null 无高亮)替换 M3 SegmentedButton
- 上传中心:摘要去白卡直排+主数字 32/40;completed 次级筛选无高亮语义保留
- 相册卡 scrim 30% 起 #0C1728E8;导航角标红底白字白边;登录主标题 27/700
- theme_test 三处旧规格断言随 UI06 值更新;397/397 全绿、analyze 0 issues
- 真机证据:MuMu + 测试服务器 API,登录/相册/详情/上传 4 页截图确认达标
- 登记偏差:语义色保持对比度合规深色版;视口矩阵随 G2;详见验收记录 §6

Co-Authored-By: Claude Code <noreply@anthropic.com>
This commit is contained in:
浅念
2026-09-23 08:09:20 +08:00
parent 8dc0073597
commit 6074fc8ed3
13 changed files with 320 additions and 141 deletions
+36 -2
View File
@@ -17,6 +17,7 @@
| B3d 治理批 | 10 账号 + 11 同步 + 12 用量 | `9471562` | ✅ 完成 |
| B3e 收尾批 | 13/14 展示位 + 17–19 异常页 | `9471562` | ✅ 完成 |
| B4 | 后台全量回归验收 | `9471562` | ✅ 已部署 `ui06-9471562-20260923` 待用户终验 |
| A0–A7 | App 线(对照 app-preview) | 本次提交 | ✅ 完成(analyze 0 / test 397 全绿 / 真机 4 页证据) |
| B4 | 后台全量回归验收 | | 待执行 |
| A0–A7 | App 线(B4 后启动) | | 待执行 |
@@ -125,9 +126,42 @@
- 保留项:游标分页(useCursorList)✅ / 批量部分成功 ✅ / 账号自保护 ✅ / settings 语义 ✅ / translations 合并 ✅ / e2e 选择器全部适配(albums/governance/embed/users/login/locale)
- 登记偏差:①登录摄影素材为概念图裁片占位(待正式品牌素材);②深色模式保持可用未重设计;③17–19 沿用 ArtException 版式;④无封面相册显示中性占位(cover=null 真实数据状态)
## 6. App 线记录
## 6. App 线记录(2026-09-23,用户指令「先都改完再统一测试」——各批中途关口合并为终验)
(待后台终验后启动 A0)
### 6.1 A0 偏差复核(代码级,以 app-preview styles.css 实测为准)
UI-03 完成态与 app-preview 的核心差异(修前):
1. 根导航 NavigationBar 保留 `indicatorColor: secondaryContainer` 胶囊 ❌
2. 上传主筛选用 M3 SegmentedButton(黑边胶囊形态)❌
3. 上传摘要被白色大卡包裹、主数字 24px ❌(示例:直排背景 + 32px)
4. token 差异:次文字 #5E6878(示例 --muted #69778E)、输入圆角 12(示例 10)、卡片阴影形态(示例 1px #EDF0F5 边框无阴影)、相册卡 scrim 0.42 起(示例 30% 起 #0C1728E8)❌
5. 登录主标题 24px(示例 27px)❌
6. 导航角标无白边(示例 #F15B64 + 2px 白边)❌
已达标项(无需改):AlbumCard 16:9/白字/状态行、详情 hero/工具区、登录拼贴、字阶体系、间距体系。
### 6.2 A2 公共组件与 token(与 A3 样板页合并实施)
- `ui/tokens.dart`:kColorTextSecondary→#69778E;新增 kColorSoft(#EDF4FF)/kColorCardBorder(#EDF0F5)/kColorSegTrack(#EDF1F6)/kColorSegLightActive(#DBEAFF+#145BB9)/kColorFieldBorder(#DBE3EF);kRadiusField=10
- `app/theme.dart`:导航 **indicatorColor 透明** + iconTheme/label 显式选中蓝未选次色 + 高度 68;卡片 **去阴影改 1px 边框**;输入圆角 10;_textSecondary 同步 #69778E
- 新组件 `ui/components/segment_tabs.dart`:轻量分段(#EDF1F6 轨道/半径 9/选中实蓝白字 36 高;light 变体浅蓝选中供内容页签;支持 null 无高亮次级筛选态)
- queue_tab:SegmentedButton→SegmentTabs(completed 次级筛选时三段不亮语义保留);**摘要去卡直排 + 主数字 32/40**;导航角标红底白边;相册卡 scrim 30% 起 #0C1728E8;登录主标题 27/700
- 语义色(成功/错误/等待)保持 UI-03R 深色版:HTML 装饰值(#279966/#E74E58/#D89020)在浅色文字位对比度不达标(<4.5:1),**登记偏差**供用户定夺
### 6.3 A7 验证与真机证据
- `flutter analyze` 0 issues ✅;`flutter test` **397/397 全绿** ✅(theme_test 三处旧规格断言随 UI06 值更新:次色/输入圆角 10/无胶囊)
- 真机:MuMu 模拟器(Android 15, 540×960)安装 debug APK(--dart-define API_BASE=测试服务器 32005 / VIEWER_BASE=32006),真实账号登录成功
- 截图 4 张(`ui06-implementation/app-after/`):01 登录(拼贴+品牌+表单)、05 相册列表(真实封面卡+无胶囊导航)、06 详情(164 hero+工具区)、14 上传(**无卡摘要+32px 数字+轻分段+无胶囊**)——均确认达标
- 未做(登记):320/430/横屏/大字体/zh 深色抽查矩阵(UI-03R §10.1)——397 项 widget 测试覆盖主要布局断言,视口矩阵随 G2 真机关口补
### 6.4 App 线登记偏差汇总
| # | 偏差 | 原因 |
|---|---|---|
| 1 | 语义色未采用 HTML 装饰值(#279966 等) | 浅色文字对比度 <4.5:1;保持 UI-03R 深色版(视觉差 <10%) |
| 2 | 视口矩阵抽查未跑 | 随 G2 真机关口;widget 测试已覆盖主布局 |
| 3 | 生产登录拼贴素材 | 沿用 UI-03 已有合规素材(非本次替换范围) |
## 4. B2 记录