docs(plans): 留痕 K31-E 首页剧卡压缩

This commit is contained in:
Zhou Weidong committed 2026-10-20 13:03:35 +08:00
1 parent 4aa80d0fc7
commit 6435238ad7
2 files changed
+63

No files matched your search

+33
View File
@@ -1,3 +1,36 @@
## [已处理] 2026-10-20 | K31-E 首页剧卡压缩高度 + 播放次数上封面 + 去掉加号(仅 App 端)
**用户指令(2026-10-20,原文)**:
> 「现在优化首页列表 高度在低一点 播放次数放封面上 几点几万这样 底部的加号不要」
**现状**:`lib/pages/home/widgets/home_drama_grid.dart`
- 封面 `_coverAspectRatio = 3 / 4`(高度约为卡宽 1.33 倍),卡片内边距 `AppDimens.spaceSm`,封面与标题间距 10、标题/题材/元信息间距 4;
- 元信息行右侧有 28×28 主色圆形加号(`home-drama-add-<id>`),左侧是「集数 + 播放次数」两个文本;
- 播放次数用 `l10n.viewCountLabel(count)`(如「1234 次播放」)。
**口径(只改 Flutter,不动后端、不改接口)**
1. 卡片整体更矮:
- 封面比例 `_coverAspectRatio` 由 `3 / 4` 改为 `5 / 6`;
- 卡片内边距由 `AppDimens.spaceSm` 改为 8;
- 封面→标题间距 10 → 6;标题→题材、题材→元信息间距 4 → 2。
2. 播放次数移到封面左下角,与集数角标同一视觉层级:
- `Positioned(left: 8, bottom: 8)`,深色半透明胶囊(`AppColors.playerOverlayPill` 或 `AppColors.overlayDark`)+ 白色小播放图标(size 10)+ 文案;
- 文案用现有 `formatInteractionCount(drama.viewCount)`(`lib/core/formatting/count_format.dart`),即 `3200` → `3200`、`12400` → `1.2万`;
- Key `home-drama-views-<id>` 从原元信息行迁移到这个封面角标上,便于既有测试定位。
3. 去掉底部加号:
- 删除 `_addSize`、`_addIconSize` 常量与 `home-drama-add-<id>` 容器;
- `_metadata()` 简化为只显示集数(Key `home-drama-episode-count-<id>` 不变),字号与颜色保持 `AppDimens.cardViews` / `AppColors.subtle`。
4. 其余角标(免费/原创、锁定集数、总集数)位置与 Key 不变;标题、题材 Key 与样式不变。
**测试/门禁**
- 更新 `test/home/home_card_style_test.dart`:断言 `home-drama-add-style-drama` 不存在、`home-drama-views-style-drama` 位于封面上(可用 `find.descendant` 于 `home-drama-cover-*` 内验证)、显示文案为 `formatInteractionCount` 结果;
- 新增/调整为:卡片整体高度小于旧值(可断言高度 < 卡宽 × 1.5 之类的相对值,不要硬编码绝对像素);
- `dart analyze lib test` 零告警 + `flutter test` 全过 + `flutter build apk --debug`。
**流程**:从 `develop` 拉 `feature/flutter-k31-home-card-compact`;作者 `Zhou Weidong <502333560@qq.com>`;`--no-ff` 合回 develop 并 push;PROGRESS 留痕;真机验收由用户执行。
---
## [已处理] 2026-10-20 | K31-D 首页频道行滚动时固定吸顶(仅 App 端)
**用户指令(2026-10-20,原文)**:
+30
View File
@@ -20392,3 +20392,33 @@ Running Gradle task 'assembleDebug'...
```
解读:静态检查零告警,402 条测试全部通过(较 K31-C 新增 1 条吸顶用例),debug APK 构建成功。工作区原有 `pubspec.lock` 变更未纳入本批提交。真机验收由用户执行。
## 2026-10-20 ReelShort:K31-E 首页剧卡压缩 + 播放次数上封面 + 去掉加号
- 分支:`feature/flutter-k31-home-card-compact`
- 功能提交:`124ba75 feat(flutter): 压缩首页剧卡并把播放次数上封面`
- develop 合并提交:`40e2379 merge: 合并 K31-E 首页剧卡压缩`,已推送。
- `home_drama_grid.dart`:封面比例 3/4 → 5/6(覆盖高度由卡宽 1.33 倍降到 1.2 倍);卡片内边距 12 → 8;封面→标题 10 → 6;标题/题材/元信息间距 4 → 2(统一为文件常量)。
- 播放次数移到封面左下角 `Positioned(left:8,bottom:8)`:`AppColors.playerOverlayPill` 胶囊 + 10 号白色播放图标 + `formatInteractionCount(viewCount)` 文案(3200 / 1.2万),Key `home-drama-views-<id>` 迁到该角标。
- 删除 `_addSize` / `_addIconSize` 与圆形加号;`_metadata()` 只保留集数文本(Key 与样式不变)。
- 其它角标(免费/原创、锁定集数、总集数)与标题、题材未动。
测试:`home_card_style_test` 改为断言加号不存在、views 角标在封面内且文案为 `1.2万`、封面高宽比 1.2、卡片总高 < 卡宽×1.6;同时给吸顶用例补充 10 部剧的数据,保证压缩后页面仍有足够内容滚过阈值。
门禁原始输出:
```text
$ dart analyze lib test
Analyzing lib, test...
No issues found!
$ flutter test
00:36 +402: All tests passed!
$ flutter build apk --debug
Running Gradle task 'assembleDebug'...
7.3s
✓ Built build/app/outputs/flutter-apk/app-debug.apk
```
解读:静态检查零告警,402 条测试全部通过,debug APK 构建成功。工作区原有 `pubspec.lock` 变更未纳入本批提交。真机验收由用户执行。