From e49664ce552c46dee922d77626d6d58a0b8d3f8e Mon Sep 17 00:00:00 2001 From: Zhou Weidong <502333560@qq.com> Date: Sat, 17 Oct 2026 22:40:28 +0800 Subject: [PATCH] =?UTF-8?q?docs(plans):=20=E5=A2=9E=E5=8A=A0=20K12=20?= =?UTF-8?q?=E9=A6=96=E9=A1=B5=E4=B8=8E=E7=A9=BA=E6=80=81=E8=A7=86=E8=A7=89?= =?UTF-8?q?=E4=BF=AE=E8=AE=A2=E8=AE=A1=E5=88=92?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- docs/plans/2026-10-17-K12.md | 79 ++++++++++++++++++++++++++++++++++++ 1 file changed, 79 insertions(+) create mode 100644 docs/plans/2026-10-17-K12.md diff --git a/docs/plans/2026-10-17-K12.md b/docs/plans/2026-10-17-K12.md new file mode 100644 index 0000000..8498240 --- /dev/null +++ b/docs/plans/2026-10-17-K12.md @@ -0,0 +1,79 @@ +# 2026-10-17 K12 首页去标题 + 空态视觉重做 + +## 一、目标与边界 + +在 K11 首页基础上做两项视觉修订: + +1. 删除首页「全部剧目」标题,分类 chips 后直接显示网格。 +2. 将 `EmptyState` 从单个实心圆角块改为轻盈的双层同心圆。 + +只改首页间距、`EmptyState` 视觉与对应测试,不改接口、数据、轮播、三态或其他页面。 + +- 客户端分支:`feature/flutter-k12-home-empty-polish`,基线 `develop b5a8656`。 +- 文档分支:`docs/k12-home-empty-polish`,FruitServer 基线任务书 `87a37e9`。 +- 不引入图片、SVG、字体或动画;不跑真机。 + +## 二、首页去标题 + +- 删除 `Key('home-all-dramas-title')` 的 Text。 +- 删除标题与 chips 之间、标题与网格之间的多余间距。 +- chips 与网格间距调整为 14px。 +- 网格、数据、空态和分类切换逻辑保持不变。 + +## 三、EmptyState 双层同心圆 + +默认: + +- 外层直径 84,blue 5.5% 填充,1px blue 11% 描边。 +- 内层直径 56,blue 11% 填充。 +- 图标 27px,深色 `blueSoft` / 浅色 `blue`。 +- 标题 15/w600,与图形间距 14。 +- 副标题 12.5 muted,行高 1.45,与标题间距 6。 +- TextButton 13 主色,点击区至少 44,与副标题间距 8。 +- 上下 Padding 28,最大宽度 260。 + +compact: + +- 外层 60、内层 40、图标 21。 +- 图形与标题间距 10,上下 Padding 16。 + +保留外层 Key `empty-state-art`,新增内层 Key `empty-state-art-inner`;继续使用 +`empty-state-icon/title/action`。外层 Semantics 仍只读标题。 + +## 四、测试 + +- 更新组件测试:外/内层尺寸、图标尺寸、标题 15、副标题 12.5、按钮 44、 + 最大宽 260、compact 尺寸与深浅主题颜色。 +- 首页测试:`home-all-dramas-title` 不存在;chips 存在后直接能找到 + `home-all-dramas-grid`。 +- K9/K10/K11 既有用例保留,不删除测试文件;只更新本次明确变化的视觉/锚点断言。 +- 既有壳层测试中若用「All Dramas」作为页面定位锚点,改用当前稳定锚点 + `All` chip,不降低导航流程覆盖。 + +## 五、影响文件 + +- `ReelShort/lib/core/widgets/empty_state.dart` +- `ReelShort/lib/pages/discover/discover_view.dart` +- `ReelShort/test/empty_state/empty_state_test.dart` +- `ReelShort/test/discover/home_all_dramas_grid_test.dart` +- `ReelShort/test/widget_test.dart`(仅稳定锚点更新) +- `FruitServer/docs/plans/2026-10-17-K12.md` +- `FruitServer/docs/plans/PROGRESS.md` +- `FruitServer/docs/plans/INBOX.md` + +## 六、门禁与 Git + +1. 先更新组件与首页测试,取得标题仍存在、空态仍是旧尺寸的红灯。 +2. 实现后跑定向测试。 +3. 运行 `dart analyze lib test`、`flutter test`、`flutter build apk --debug`。 +4. 当前已确认真机会话停止且无并发构建;构建前再次检查。 +5. 完成后 `merge --no-ff` 回客户端 `develop` 并 push;FruitServer 文档同样 + 合并推送。作者与提交者统一为 + `Zhou Weidong <502333560@qq.com>`。 + +## 七、风险与待确认 + +- 删除标题后,部分既有测试用「All Dramas」文本定位页面;需改为稳定的 + `All` chip 或网格 Key,保持原测试流程。 +- 双层圆使用固定尺寸和 Stack,小屏需保证 84/60 不溢出。 +- 副标题 12.5 与按钮 13 是视觉规格;测试按 double 精确断言。