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,原文)**: