From 73292ba74dee8fd21fce29f6b8135019b6b23862 Mon Sep 17 00:00:00 2001 From: Zhou Weidong <502333560@qq.com> Date: Sat, 17 Oct 2026 22:35:19 +0800 Subject: [PATCH] =?UTF-8?q?docs(plans):=20=E8=AE=B0=E5=BD=95=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=E5=9B=9E=E6=89=A7?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- docs/plans/INBOX.md | 24 +++++++- docs/plans/PROGRESS.md | 136 +++++++++++++++++++++++++++++++++++++++++ 2 files changed, 159 insertions(+), 1 deletion(-) diff --git a/docs/plans/INBOX.md b/docs/plans/INBOX.md index 4d6b6f7..3829712 100644 --- a/docs/plans/INBOX.md +++ b/docs/plans/INBOX.md @@ -20,7 +20,7 @@ --- -## [待处理] 2026-10-17 | K11 首页网格 3 列 + 分类首位「全部」 +## [已处理·待用户验收] 2026-10-17 | K11 首页网格 3 列 + 分类首位「全部」 **用户指令(2026-10-17)**:「现在改首页,一行显示 3 个,而且我要的全部是显示在分类的第一个」。 @@ -55,6 +55,28 @@ - 先写 `FruitServer/docs/plans/2026-10-17-K11.md`;每步「叙述 + 命令 + 原始输出 + 解读」追加到 `PROGRESS.md`;完成后停住写回执。 - 提交作者与提交者统一 `Zhou Weidong <502333560@qq.com>`。 +### 五、K11 完成回执(2026-10-17) + +**结论**:首页网格已改为 3 列,分类首项仍绑定 `CategoryController.allCode`, +文案改为「全部 / All / Semua」。未改轮播、空态、三态、数据源、接口或其他页面; +未跑真机。 + +- 客户端分支 `feature/flutter-k11-home-grid-3col` 从 `0466b4b` 完成并 + `--no-ff` 合并;功能提交 `f0db631`,合并提交 `b5a8656`,已推送 + `0466b4b..b5a8656 develop`。 +- `crossAxisCount: 3`、`mainAxisSpacing: 14`、`crossAxisSpacing: 10`, + `childAspectRatio: 2 / 3` 保持不变。 +- 三份 ARB 原本已有 `all` key,分别为 All / 全部 / Semua,本轮直接复用, + 未插入重复 JSON key。 +- K9 网格测试更新为 3 列并断言「全部」位于「热门」之前;两个既有首页壳层 + 用例只把旧分类文案断言改为「All/全部」,导航流程和用例均保留。 +- `dart analyze lib test` 零告警;`flutter test` 为 + `00:18 +302 ~1: All tests passed!`;Android debug APK 在独立副本中构建成功。 + +用户真机验证步骤与逐步预期、原始输出见 +`docs/plans/PROGRESS.md`「27. K11 首页 3 列与全部分类」。 +设备侧 3 列布局、分类切换与详情跳转验收由用户执行。 + --- ## [待处理] 2026-10-17 | K10 统一空列表占位(EmptyState) diff --git a/docs/plans/PROGRESS.md b/docs/plans/PROGRESS.md index 3d600be..8bb48dc 100644 --- a/docs/plans/PROGRESS.md +++ b/docs/plans/PROGRESS.md @@ -2359,6 +2359,142 @@ Running Gradle task 'assembleDebug'... 6.9s --- +## 2026-10-17 K11 首页 3 列与全部分类 + +### 27.1 范围、分支与计划 + +叙述:在 K9 首页「全部剧目」网格上做最小修订,每行 3 个,分类首项从 +`For You` 改为「全部」。只改网格参数、首个分类 label 和对应测试。 + +- 客户端分支:`feature/flutter-k11-home-grid-3col`,基线 `0466b4b`。 +- 文档分支:`docs/k11-home-grid-3col`,基线任务书 `2a06190`。 + +开工前先写并提交计划: + +```text +f97574b docs(plans): 增加 K11 首页三列网格实施计划 +``` + +### 27.2 先红:3 列与全部文案 + +先更新 K9 网格测试的期望值并执行: + +```text +$ flutter test test/discover/home_all_dramas_grid_test.dart +Expected: exactly one matching candidate + Actual: _TextWidgetFinder: + +00:01 +0 -1: Some tests failed. +``` + +解读:分类首项仍显示旧文案,3 列断言在首个失败处之后尚未执行;红灯与 K11 +目标一致。 + +### 27.3 实现 + +`home_drama_grid.dart`: + +```text +crossAxisCount: 3 +mainAxisSpacing: 14 +crossAxisSpacing: 10 +childAspectRatio: 2 / 3 +``` + +`discover_view.dart`: + +```text +(code: CategoryController.allCode, label: l10n.all) +``` + +已核对三份 ARB 原本已有 `all`: + +```text +lib/l10n/app_en.arb:49: "all": "All", +lib/l10n/app_zh.arb:49: "all": "全部", +lib/l10n/app_id.arb:49: "all": "Semua", +``` + +解读:直接复用现有三语 getter,未添加重复 JSON key,也未改动 l10n 生成文件。 + +### 27.4 定向绿灯 + +```text +$ flutter test test/discover/home_all_dramas_grid_test.dart +00:01 +5: All tests passed! +``` + +测试同时断言: + +- `crossAxisCount == 3` +- `crossAxisSpacing == 10` +- `mainAxisSpacing == 14` +- `childAspectRatio == 2/3` +- 首个 chip 为 `All`,且位于 `Hot` 左侧 +- 320px 小屏 3 列布局无溢出 + +两个既有首页壳层用例仍保留,只更新旧分类断言: + +```text +$ flutter test test/widget_test.dart +00:05 +17: All tests passed! +``` + +### 27.5 全量门禁与构建 + +```text +$ dart analyze lib test +Analyzing lib, test... +No issues found! +``` + +```text +$ flutter test +00:18 +302 ~1: All tests passed! +``` + +解读:302 项通过,1 项联调测试因客户端接口服务未启动按设计跳过。 + +用户 Android `flutter run` 仍在运行,未终止该会话。为避免争用原项目 +`build/`,将当前工作区同步到独立临时副本后执行: + +```text +$ flutter build apk --debug +Running Gradle task 'assembleDebug'... 21.8s +✓ Built build/app/outputs/flutter-apk/app-debug.apk +``` + +### 27.6 Git + +```text +f0db631 feat(flutter): 首页网格改为三列并首位显示全部 +b5a8656 merge: 合并 K11 首页三列网格 +0466b4b..b5a8656 develop -> develop +``` + +功能提交与合并提交 author/committer 均为 +`Zhou Weidong <502333560@qq.com>`。 + +### 27.7 用户真机验证步骤与预期 + +以下设备侧取证由用户执行,Codex 未跑真机。 + +1. 使用最新客户端 `develop` 进入首页。 + 预期:分类 chips 第一项显示「全部 / All / Semua」,其后仍是热门、最新和 + 服务端分类。 +2. 查看「全部剧目」列表。 + 预期:每行 3 个剧目,列间距 10、行间距 14,左右边距保持 16。 +3. 检查长标题和类型。 + 预期:标题最多 2 行、类型最多 1 行,不横向或纵向溢出。 +4. 点击「全部」及其他分类。 + 预期:网格内容按现有逻辑更新,点击卡片仍进入对应详情。 +5. 在 320px 宽设备或小屏模拟器滚动列表。 + 预期:3 列布局稳定,无卡片重叠或整页溢出。 + +设备侧截图、滚动和分类切换结果由用户执行。 + +--- + ## 2026-10-17 iOS 构建阻塞:固定 shared_preferences_foundation 2.5.6 ### 25.1 现象与根因