diff --git a/docs/plans/INBOX.md b/docs/plans/INBOX.md index 61eaa68..38f93d5 100644 --- a/docs/plans/INBOX.md +++ b/docs/plans/INBOX.md @@ -1,3 +1,49 @@ +## [已处理] 2026-10-20 | K33-B 首页 feed 按参考图重做播放浮层(仅 App 端) + +**用户指令(2026-10-20,原文)**: +> 「怎么和我发你的图片不一致 不按照要求来」 + +**参考图**:`20261020-132616.jpg`。当前 `HomeFeedOverlay` 仍是 K28 旧版(顶部剧名 + 三个圆形按钮、右下 GlassPanel 信息卡带追剧/选集按钮、rail 无数量),与图不符。 + +**口径(只改 Flutter,不动后端、不改接口;底部导航保持 4 槽)** + +1. 顶部(SafeArea,叠在视频上,顶部加黑色渐变遮罩保证可读) + - 左:汉堡按钮 `Icons.menu_rounded`(白色 22,Key `home-feed-menu`)→ 打开现有「更多」底部弹窗。 + - 中:4 个纯文字 tab「关注 / 漫剧 / 真人剧 / 推荐」,间距 22,可横向滚动;选中为 `推荐`:15 号 w800 白色 + 下方 18×2 白色横线;未选中 15 号 w600 white70。Key:`home-feed-tab-follow/anime/real/recommend`。 + - 点击 `推荐`/`真人剧` 均展示当前全部 feed(现目录统一按真人剧处理,切 tab 只切换选中态,不改变队列); + - 点击 `关注`/`漫剧` 弹 SnackBar「即将上线」(l10n `comingSoon`),选中态不变。 + - 右:搜索按钮(白色,Key `home-feed-search`)→ 跳剧场并聚焦搜索;原 `home-feed-clear-screen` 按钮移除,清屏改为「更多」弹窗里的一个条目(Key `home-feed-clear`)。 +2. 右侧互动栏(右下、垂直居中偏下,白色图标 + 阴影 + 数量) + - 顺序:收藏(star,`drama.favoriteCount`)/ 评论(bubble,`drama.commentCount`)/ 喜欢(heart,`drama.likeCount`)/ 分享(share,无数量,显示「分享」文字)。 + - 数量用 `formatInteractionCount`(如 `41.9万`、`1006`),无数据时只显示文字标签;Key 仍为 `rail-save`/`rail-comments`/`rail-like`/`rail-share`,数量 Key `rail-save-count`/`rail-comments-count`/`rail-like-count`。 +3. 底部信息区(距底 8、左右 14,底部加黑色渐变遮罩) + - 第一行:弹幕输入胶囊(深色半透明 0x66000000、圆角 999、高 34、左侧「弹」字 12 + 提示「弹幕」,Key `home-feed-danmaku`,点击 SnackBar 即将上线)+ 间距 12 + 「全屏观看」胶囊(同底、高 34、`Icons.fullscreen_rounded` 14 + 文案 12,Key `home-feed-fullscreen`,点击进入全屏播放页)。 + - 第二行:「系列剧 · 共{n}集 | 共{x}人在追 ›」12 号 white70,n=`episodeCount`、x=`formatInteractionCount(viewCount)`,Key `home-feed-series-meta`,点击进详情。 + - 第三行:剧名 17 号 w800 白色,最多 2 行 + 右侧 `chevron_right`,Key `home-feed-title`,点击进详情。 + - 第四行:标签行(最多 4 个):第一个为「第{n}集」(当前集数),其余取 `[genre, category]` 去空去重,深色半透明底、圆角 6、11 号白色;Key `home-feed-tags`。 + - 第五行:作者声明(仅 `authorNote` 非空时):「作者声明:{authorNote}」11 号 white70,Key `home-feed-author-note`。 + - 删除原 `home-feed-info-card`(GlassPanel)以及追剧/选集两个按钮。 +4. 底部整集进度条(固定在底部、悬浮于底栏上方,高 48) + - 深色半透明(0xCC000000)横条:左侧播放图标 14 + 文案「观看完整剧集 · 全{n}集」13 号 w600 白色 + 右侧 `chevron_right`;底边 2px 橙色(`AppColors.blue`)进度线,宽度按当前播放进度。 + - Key `home-feed-full-series`,点击打开现有选集面板(`onEpisodes`)。 + - 需要 l10n `watchFullSeries(episodes)`。 +5. 视频画面保持现有 `BoxFit.cover`(现有片源为竖版,不做黑边 letterbox),上下滑动切换短剧行为不变;清屏时上述浮层整体隐藏,底栏仍按 `onImmersiveChanged` 隐藏。 +6. l10n 新增(三份 arb + `flutter gen-l10n`) + - `danmaku`:zh 弹幕 / en Danmaku / id Danmaku + - `watchFullscreen`:zh 全屏观看 / en Full screen / id Layar penuh + - `seriesMeta`(episodes、viewers):zh「系列剧 · 共{episodes}集 | 共{viewers}人在追」/ en「Series · {episodes} eps | {viewers} watching」/ id「Serial · {episodes} eps | {viewers} menonton」 + - `watchFullSeries`(episodes):zh「观看完整剧集 · 全{episodes}集」/ en「Watch full series · {episodes} eps」/ id「Tonton serial lengkap · {episodes} eps」 + - `feedTabFollowing` 关注 / `feedTabAnime` 漫剧 / `feedTabReal` 真人剧 / `feedTabForYou` 推荐(en:Following / Anime / Live-action / For you;id:Mengikuti / Anime / Live-action / Untukmu) + +**测试/门禁** +- 更新 feed 相关用例到新结构(顶部 tab、rail 顺序、底部 5 行信息、整集进度条、更多弹窗含清屏); +- 新增:点击 `home-feed-full-series` 打开选集面板;点击 `home-feed-danmaku`/`关注` tab 出现即将上线提示;`rail-save-count` 等数量按 `formatInteractionCount` 展示; +- `dart analyze lib test` 零告警 + `flutter test` 全过 + `flutter build apk --debug`。 + +**流程**:从 `develop` 拉 `feature/flutter-k33-feed-overlay`;作者 `Zhou Weidong <502333560@qq.com>`;`--no-ff` 合回 develop 并 push;PROGRESS 留痕;真机验收由用户执行。 + +--- + ## [已处理] 2026-10-20 | K33-A 首页改为沉浸式 feed 流(仅 App 端) **用户指令(2026-10-20,原文)**: diff --git a/docs/plans/PROGRESS.md b/docs/plans/PROGRESS.md index a0dc7a3..0c7e70b 100644 --- a/docs/plans/PROGRESS.md +++ b/docs/plans/PROGRESS.md @@ -20570,3 +20570,36 @@ Running Gradle task 'assembleDebug'... - 功能分支遗漏了旧测试删除(`test/discover/discover_banner_test.dart`),已在 `fix/flutter-k33-drop-banner-test` 补提交 `fe84244 test(flutter): 移除失效的首页轮播用例`,并以 `d6b055d merge: 合并 K33-A 失效轮播用例清理` 合并回 develop 推送。 - 合并后在 develop 复跑 `dart analyze lib test` 零告警、`flutter test` 399 条全过。 + +## 2026-10-20 ReelShort:K33-B 首页 feed 浮层按参考图重做 + +- 分支:`feature/flutter-k33-feed-overlay` +- 功能提交:`ee6f0d7 feat(flutter): 按参考图重做首页 feed 浮层` +- develop 合并提交:`ea28420 merge: 合并 K33-B 首页 feed 浮层重做`,已推送。 +- 顶部:汉堡 `home-feed-menu`(打开更多)、4 个纯文字 tab(关注/漫剧/真人剧/推荐,推荐默认选中,白字 + 18×2 白横线),关注/漫剧提示即将上线,右侧仅搜索 `home-feed-search`;清屏改为更多弹窗里的 `home-feed-clear`。 +- 右侧 rail:收藏/评论/喜欢/分享,前三项数量用 `formatInteractionCount`(Key `rail-*-count`)。 +- 底部信息:弹幕胶囊 `home-feed-danmaku` + 全屏观看胶囊 `home-feed-fullscreen`、系列信息 `home-feed-series-meta`、两行剧名 `home-feed-title`、最多 4 个标签 `home-feed-tags`、作者声明(非空才显示);删除旧 GlassPanel 信息卡与追剧/选集按钮。 +- 底部整集进度条 `home-feed-full-series`:0xCC000000 横条 + 播放图标 + 「观看完整剧集 · 全N集」+ 右箭头 + 2px 橙色进度线(跟随播放进度),点击打开选集面板。 +- `player_view` homeMode 分支补充 controller、favorite/comment/like 数量、onDetail、onFullscreen(推入全屏播放页)。 +- l10n 新增 `danmaku`/`watchFullscreen`/`seriesMeta`/`watchFullSeries`/`feedTab*`,另加 `authorNoteLabel` 供作者声明前缀(三语),执行 `flutter gen-l10n`。 +- 浮层拆分为 `home_feed_overlay.dart`(479 行)+ `home_feed_overlay_parts.dart`(393 行),满足单文件 ≤500 行;320 宽下弹幕/全屏胶囊改为 Flexible + ellipsis,消除 25px 溢出。 + +测试:feed 结构用例改写为新版(顶部 tab、数量格式化、整集进度条、标签),新增「点击整集进度条打开选集」「弹幕/关注提示即将上线」。 + +门禁原始输出: + +```text +$ dart analyze lib test +Analyzing lib, test... +No issues found! + +$ flutter test +00:39 +400: All tests passed! + +$ flutter build apk --debug +Running Gradle task 'assembleDebug'... + 8.6s +✓ Built build/app/outputs/flutter-apk/app-debug.apk +``` + +解读:静态检查零告警,400 条测试全部通过,debug APK 构建成功。工作区原有 `pubspec.lock` 变更未纳入本批提交。真机验收由用户执行。