From f97574b57edf41cc33f9bb4b562a7bdf2b2a4cdc Mon Sep 17 00:00:00 2001 From: Zhou Weidong <502333560@qq.com> Date: Sat, 17 Oct 2026 22:30:39 +0800 Subject: [PATCH] =?UTF-8?q?docs(plans):=20=E5=A2=9E=E5=8A=A0=20K11=20?= =?UTF-8?q?=E9=A6=96=E9=A1=B5=E4=B8=89=E5=88=97=E7=BD=91=E6=A0=BC=E5=AE=9E?= =?UTF-8?q?=E6=96=BD=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-K11.md | 63 ++++++++++++++++++++++++++++++++++++ 1 file changed, 63 insertions(+) create mode 100644 docs/plans/2026-10-17-K11.md diff --git a/docs/plans/2026-10-17-K11.md b/docs/plans/2026-10-17-K11.md new file mode 100644 index 0000000..412fb96 --- /dev/null +++ b/docs/plans/2026-10-17-K11.md @@ -0,0 +1,63 @@ +# 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/`。