docs(plans): 合并 K11 首页三列网格回执
This commit is contained in:
commit
fe2e179bdc
3 files changed
+222
-1
No files matched your search
@@ -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/`。
|
||||
+23
-1
@@ -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)
|
||||
|
||||
@@ -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:<Found 0 widgets with text "All": []>
|
||||
|
||||
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 现象与根因
|
||||
|
||||
Reference in new issue
Block a user