From 79a1194257848f00afcd145c669381ec8222e307 Mon Sep 17 00:00:00 2001 From: Zhou Weidong <502333560@qq.com> Date: Sat, 17 Oct 2026 16:04:11 +0800 Subject: [PATCH] =?UTF-8?q?docs(plans):=20=E4=B8=8B=E5=8F=91=20K6=20?= =?UTF-8?q?=E7=99=BB=E5=BD=95=E4=B8=8E=E5=BA=95=E9=83=A8=E5=AF=BC=E8=88=AA?= =?UTF-8?q?=20UI=20=E4=BB=BB=E5=8A=A1?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- docs/plans/INBOX.md | 79 ++++++++++++++++++++++++++++++++++++++++++++- 1 file changed, 78 insertions(+), 1 deletion(-) diff --git a/docs/plans/INBOX.md b/docs/plans/INBOX.md index 30053f0..2434f16 100644 --- a/docs/plans/INBOX.md +++ b/docs/plans/INBOX.md @@ -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 整体颜色,克莱因蓝,针对印尼市场,认真阅读文档严格执行」。