Files
FruitServer/docs/plans/2026-10-17-K11.md

2.8 KiB
Raw Permalink Blame History

2026-10-17 K11 首页网格 3 列 + 分类首位「全部」

一、目标与边界

在 K9 首页「全部剧目」网格上做最小修订:每行从 2 个改为 3 个,分类首个仍绑定 CategoryController.allCode,文案改为「全部 / All / Semua」。

  • 客户端分支:feature/flutter-k11-home-grid-3col,基线 develop 0466b4b。
  • 文档分支:docs/k11-home-grid-3col,FruitServer 基线任务书 2a06190。
  • 不改轮播、空态、三态、数据源、接口、分页或其他页面。
  • 不跑真机;设备侧 3 列布局、分类切换和详情跳转由用户验收。

二、实现方案

  1. home_drama_grid.dart:
    • crossAxisCount: 3
    • mainAxisSpacing: 14
    • crossAxisSpacing: 10
    • childAspectRatio: 2 / 3 不变
  2. 3 列下卡片仍只保留标题最多 2 行、类型最多 1 行;由现有 Text 的 maxLines / ellipsis 保证不溢出。
  3. discover_view.dart 分类第一项 code 保持 CategoryController.allCode, label 从 l10n.forYou 改为 l10n.all。
  4. 已核对三份 ARB 已存在 all key:
    • en:All
    • zh:全部
    • id:Semua

因此直接复用现有 l10n,不重复插入 JSON key;热门、最新和服务端分类顺序不变。

三、测试

  • 更新 K9 网格断言:crossAxisCount == 3、crossAxisSpacing == 10、 mainAxisSpacing == 14、比例仍为 2/3。
  • 新增首个分类 chip 文案断言为 All;切换分类时仍能更新网格。
  • K9/K10 既有测试保留,不删除用例;只更新本次行为明确变化的参数断言。
  • 组件/页面空态测试保持通过。

四、影响文件

  • ReelShort/lib/pages/discover/widgets/home_drama_grid.dart
  • ReelShort/lib/pages/discover/discover_view.dart
  • ReelShort/test/discover/home_all_dramas_grid_test.dart
  • FruitServer/docs/plans/2026-10-17-K11.md
  • FruitServer/docs/plans/PROGRESS.md
  • FruitServer/docs/plans/INBOX.md

五、门禁与 Git

  1. 先更新测试取得与 3 列/全部文案相关的红灯。
  2. 实现后运行定向测试。
  3. 运行 dart analyze lib test、flutter test、flutter build apk --debug。
  4. 当前有 Android flutter run 会话,不主动终止;构建前检查进程,必要时使用 独立工作区副本构建,避免争用原项目 build/。
  5. 完成后 merge --no-ff 回客户端 develop 并 push;FruitServer 文档同样 合并推送。作者与提交者统一为 Zhou Weidong <502333560@qq.com>。

六、风险与待确认

  • 3 列后单卡宽度变窄,长标题和类型必须继续 ellipsis,不允许改变卡片结构。
  • 现有 all l10n 已具备三语,新增重复 key 会破坏 ARB;本批复用现有 key。
  • 用户正在运行的 Flutter run 不终止;APK 构建需隔离原 build/。