3.3 KiB
3.3 KiB
2026-10-17 K12 首页去标题 + 空态视觉重做
一、目标与边界
在 K11 首页基础上做两项视觉修订:
- 删除首页「全部剧目」标题,分类 chips 后直接显示网格。
- 将
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」作为页面定位锚点,改用当前稳定锚点
Allchip,不降低导航流程覆盖。
五、影响文件
ReelShort/lib/core/widgets/empty_state.dartReelShort/lib/pages/discover/discover_view.dartReelShort/test/empty_state/empty_state_test.dartReelShort/test/discover/home_all_dramas_grid_test.dartReelShort/test/widget_test.dart(仅稳定锚点更新)FruitServer/docs/plans/2026-10-17-K12.mdFruitServer/docs/plans/PROGRESS.mdFruitServer/docs/plans/INBOX.md
六、门禁与 Git
- 先更新组件与首页测试,取得标题仍存在、空态仍是旧尺寸的红灯。
- 实现后跑定向测试。
- 运行
dart analyze lib test、flutter test、flutter build apk --debug。 - 当前已确认真机会话停止且无并发构建;构建前再次检查。
- 完成后
merge --no-ff回客户端develop并 push;FruitServer 文档同样 合并推送。作者与提交者统一为Zhou Weidong <502333560@qq.com>。
七、风险与待确认
- 删除标题后,部分既有测试用「All Dramas」文本定位页面;需改为稳定的
Allchip 或网格 Key,保持原测试流程。 - 双层圆使用固定尺寸和 Stack,小屏需保证 84/60 不溢出。
- 副标题 12.5 与按钮 13 是视觉规格;测试按 double 精确断言。