docs(plans): 下发 K6 登录与底部导航 UI 任务
This commit is contained in:
1 parent
61634415a9
commit
79a1194257
1 file changed
+78
-1
+78
-1
@@ -20,7 +20,84 @@
|
||||
|
||||
---
|
||||
|
||||
## [已处理·待用户验收] 2026-10-17 | K5 客户端视觉:克莱因蓝主题 + 印尼市场适配
|
||||
## [待处理] 2026-10-17 | K6 客户端 UI:登录页 + 底部导航优化
|
||||
|
||||
**用户指令(2026-10-17)**:「接下来优化登录页面 UI 及底部导航 UI」。
|
||||
|
||||
> **依赖 K5 完成**:必须基于 K5 的克莱因蓝主题(`blue #002FA7` / `bluePressed #00227A` / `blueSoft #5B7BE0` / `onPrimary #FFFFFF`)与统一 `ColorScheme` 再做,不得沿用旧 `#2F7BFF`。
|
||||
> specs 无 UI 设计稿(已确认),本批以「视觉统一 + 可用性」为目标,不自行改变信息架构。
|
||||
|
||||
### 〇、开工前必读
|
||||
|
||||
1. `AGENTS.md`、`CODING_STANDARDS.md`、`GIT_WORKFLOW.md`
|
||||
2. K5 条目与 K5 计划文档(色值 token)
|
||||
3. specs `docs/02-技术架构.md`(印尼首发)、`docs/19-术语表.md`
|
||||
4. 本 INBOX 条目
|
||||
|
||||
### 一、PM 已勘察的现状(实测)
|
||||
|
||||
- 登录页 `lib/pages/auth/auth_view.dart`(246 行):AppBar + ListView,两个 `TextField`、`FilledButton`、错误行、登录/注册切换链接。
|
||||
- 密码**无显隐切换**;无 `autofillHints`;无键盘 `next/done` 流转;错误提示写死 `#FF6B6B`。
|
||||
- 主色仍直接引用 `AppColors.blue`,无品牌区;小屏键盘遮挡只靠 ListView 自然滚动。
|
||||
- 底部导航在 `lib/pages/home/home_view.dart` 的 `_HomeTabs`(约 182–260 行):自定义 `Container` + `Row` + 4 个 `_TabButton`。
|
||||
- 高度 63,背景 `#0D0D11`、上边框 `#242329` 均为硬编码;只有选中/未选中图标,无指示条;无统一主题 token。
|
||||
- 现有 Key:`home-tabs-bar`、`tab-discover`、`tab-home`、`tab-my-list`、`tab-my`,**测试依赖,不得改名**。
|
||||
- 播放沉浸模式(`videoImmersive`)下隐藏导航,需保留。
|
||||
|
||||
### 二、本批范围(2 块,按顺序做)
|
||||
|
||||
#### K6-A 登录页 UI 优化
|
||||
|
||||
- 品牌区:登录页顶部增加 App 名与一句印尼市场定位副标题(文案走 l10n 三语),使用 K5 主题色;不引入图片资源。
|
||||
- 表单体验:
|
||||
- 邮箱 `autofillHints: [AutofillHints.email]`、密码 `[AutofillHints.password]`;
|
||||
- 密码框增加显隐切换(图标按钮,语义标签走 l10n);
|
||||
- 键盘动作:邮箱 `next` → 密码 `done` → 提交;提交中禁用输入与按钮;
|
||||
- 错误提示统一样式,颜色取主题语义错误色,不再硬编码 `#FF6B6B`。
|
||||
- 布局与可用性:小屏 + 键盘弹出不遮挡输入与提交按钮(`resizeToAvoidBottomInset` + 滚动/SafeArea);所有点击区域 ≥44pt;主按钮用 `blue`,按下态用 `bluePressed`。
|
||||
- **不改**登录/注册业务逻辑、接口调用、字段校验规则与切换逻辑;**不做**忘记密码(契约无接口)、Google/Apple 登录(属 K4)、隐私协议勾选(无契约要求)。
|
||||
|
||||
#### K6-B 底部导航 UI 优化
|
||||
|
||||
- 统一使用 K5 主题 token:背景、边框、选中/未选中色全部来自 `AppColors` / `ColorScheme`,移除 `#0D0D11`、`#242329` 等硬编码。
|
||||
- 视觉:选中项为主色图标 + 主色标签 + 明确的指示条/背景胶囊(二选一,保持克制);未选中为 `muted`;图标 22–24、标签 10–11,间距一致。
|
||||
- 可用性:整体高度与底部安全区适配(含 iPhone home indicator),每个 tab 点击区域 ≥48pt;切换动效 ≤200ms,不引入第三方动画库。
|
||||
- **保持**:4 个 tab 的数量、顺序、导航逻辑与全部 Key 不变;播放沉浸模式仍隐藏导航。
|
||||
- **不做**:新增 tab、改信息架构、改页面内容。
|
||||
|
||||
#### K6-C 测试与验收
|
||||
|
||||
- widget 测试至少覆盖:
|
||||
- 底部导航 4 个 Key 存在、选中态随 tab 切换、沉浸模式下隐藏;
|
||||
- 登录页密码显隐切换、提交中按钮禁用、错误提示展示、键盘 next/done 焦点流转(可用 `tester.testTextInput`);
|
||||
- 无新增硬编码色值(沿用 K5 的扫描测试口径)。
|
||||
- 深色主题、小屏(iPhone SE 级别)、键盘弹出三种场景不溢出。
|
||||
- 真机验收由用户执行:登录页视觉与交互、底部导航选中态与安全区。
|
||||
|
||||
### 三、规范约束
|
||||
|
||||
- 颜色只允许来自 K5 的 `AppColors` / `ColorScheme`;页面禁止硬编码色值。
|
||||
- 新增文案必须 en/zh/id 三份 arb 齐全并重新生成;禁止硬编码文案。
|
||||
- 保持现有 Key 与业务逻辑;函数 ≤50 行、参数 ≤5、类 ≤300 行、单文件 ≤500 行、嵌套 ≤4 层。
|
||||
- 新文件首行 `// Author: fruit.com.cn`;public 类/方法文档注释;无 AI 痕迹。
|
||||
|
||||
### 四、门禁
|
||||
|
||||
1. `dart analyze lib test` 零告警;`flutter test` 全过。
|
||||
2. `flutter build apk --debug` 通过。
|
||||
3. 新增测试必须真红后绿;不得删改既有测试来「变绿」。
|
||||
4. 真机/设备侧验证由用户执行(红线 7、10),回执给「用户可照做步骤 + 每步预期」。
|
||||
|
||||
### 五、Git 与留痕
|
||||
|
||||
- 从 K5 合并后的干净 `develop` 拉 `feature/flutter-k6-auth-nav-ui`;完成后 `git merge --no-ff` 回 `develop` 并 push;不动 `main`。
|
||||
- 先写 `FruitServer/docs/plans/2026-10-17-K6.md`(范围、影响文件、风险、待确认)。
|
||||
- 每步「叙述 + 命令 + 原始输出 + 解读」追加到 `docs/plans/PROGRESS.md`;完成后停住写回执。
|
||||
- 提交作者与提交者统一 `Zhou Weidong <502333560@qq.com>`。
|
||||
|
||||
---
|
||||
|
||||
## [待处理] 2026-10-17 | K5 客户端视觉:克莱因蓝主题 + 印尼市场适配
|
||||
|
||||
**用户指令(2026-10-17)**:「改 UI 及 App 整体颜色,克莱因蓝,针对印尼市场,认真阅读文档严格执行」。
|
||||
|
||||
|
||||
Reference in new issue
Block a user