From 6435238ad7cf6b17d71682a9078f35797392dd19 Mon Sep 17 00:00:00 2001 From: Zhou Weidong <502333560@qq.com> Date: Tue, 20 Oct 2026 13:03:35 +0800 Subject: [PATCH] =?UTF-8?q?docs(plans):=20=E7=95=99=E7=97=95=20K31-E=20?= =?UTF-8?q?=E9=A6=96=E9=A1=B5=E5=89=A7=E5=8D=A1=E5=8E=8B=E7=BC=A9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- docs/plans/INBOX.md | 33 +++++++++++++++++++++++++++++++++ docs/plans/PROGRESS.md | 30 ++++++++++++++++++++++++++++++ 2 files changed, 63 insertions(+) diff --git a/docs/plans/INBOX.md b/docs/plans/INBOX.md index bb83ddb..1983ac0 100644 --- a/docs/plans/INBOX.md +++ b/docs/plans/INBOX.md @@ -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-`),左侧是「集数 + 播放次数」两个文本; +- 播放次数用 `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-` 从原元信息行迁移到这个封面角标上,便于既有测试定位。 +3. 去掉底部加号: + - 删除 `_addSize`、`_addIconSize` 常量与 `home-drama-add-` 容器; + - `_metadata()` 简化为只显示集数(Key `home-drama-episode-count-` 不变),字号与颜色保持 `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,原文)**: diff --git a/docs/plans/PROGRESS.md b/docs/plans/PROGRESS.md index d7255be..9d1032a 100644 --- a/docs/plans/PROGRESS.md +++ b/docs/plans/PROGRESS.md @@ -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-` 迁到该角标。 +- 删除 `_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` 变更未纳入本批提交。真机验收由用户执行。