From c43321e19fc33cc095f554d68a92f2e5c6cc9d51 Mon Sep 17 00:00:00 2001 From: Zhou Weidong <502333560@qq.com> Date: Tue, 20 Oct 2026 13:35:25 +0800 Subject: [PATCH] =?UTF-8?q?docs(plans):=20=E7=95=99=E7=97=95=20K33-A=20?= =?UTF-8?q?=E9=A6=96=E9=A1=B5=E6=B2=89=E6=B5=B8=E5=BC=8F=20feed?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- docs/plans/INBOX.md | 30 ++++++++++++++++++++++++++++++ docs/plans/PROGRESS.md | 28 ++++++++++++++++++++++++++++ 2 files changed, 58 insertions(+) diff --git a/docs/plans/INBOX.md b/docs/plans/INBOX.md index e345c50..61eaa68 100644 --- a/docs/plans/INBOX.md +++ b/docs/plans/INBOX.md @@ -1,3 +1,33 @@ +## [已处理] 2026-10-20 | K33-A 首页改为沉浸式 feed 流(仅 App 端) + +**用户指令(2026-10-20,原文)**: +> 「现在把首页改下 打开就是feed流 滑动切换短剧」 + +**参考图**:`20261020-132616.jpg`(全屏竖版 feed:视频铺满、右侧互动栏、底部剧集信息、上下滑动换剧)。 + +**现状** +- `lib/pages/home/home_view.dart` 的 `_home()` 返回 `HomeBrowseView`(浏览型首页:频道 + 轮播 + 双列网格)。 +- 播放器已具备首页 feed 能力:`PlayerPage(homeMode: true, feedDramas: [...])` 使用竖向 `PageView` 切换短剧,配套 `HomeFeedOverlay`(标题、搜索、清屏、更多、右侧点赞/评论/分享/收藏、底部信息卡),并可通过 `onImmersiveChanged` 通知外层隐藏底部导航;`HomeLogic` 已有 `videoImmersive` 与对应开关。 + +**口径(只改 Flutter,不动后端、不改接口)** +1. 首页 Tab 默认即 feed: + - `_HomeTabsState._home()` 改为返回 + `PlayerPage(homeMode: true, embedded: true, active: logic.tab == 0, drama: widget.dramas.first, initialIndex: 0, feedDramas: widget.dramas, onDramaChanged: logic.onDramaChanged, onImmersiveChanged: logic.onImmersiveChanged, onSearch: () => logic.select(1, search: true), onDiscover: () => logic.select(1), onMy: () => logic.select(3))`; + - 进入首页即为第一部的 feed,视频自动播放,上下滑动切换短剧(沿用播放器现有竖向 PageView,不新写一套)。 +2. 底部导航保持 4 槽(首页/剧场/创作/我的);feed 清屏态仍通过 `onImmersiveChanged` 隐藏底栏,现有逻辑不动。 +3. 首页 feed 的搜索按钮跳剧场并聚焦搜索(`logic.select(1, search: true)`),「更多」里的下载/小窗保持现状。 +4. 浏览型首页组件(`home_browse_view.dart`、`home_browse_logic.dart`、`widgets/home_drama_grid.dart`、`widgets/home_browse_header.dart`)保留不删,首页不再引用它们(如 analyzer 报未使用 import 就清 import)。 +5. 切到其它 Tab 时 feed 暂停(`active: false` 已由播放器处理),切回首页保持当前集与当前剧;`videoImmersive` 状态与 `onSystemBack` 行为不变。 + +**测试/门禁** +- 更新因首页改为 feed 而失败的用例:首页断言改到 feed 键(如 `home-feed-title`、`home-feed-info-card`、`player-video-tap`、`rail-like`),删除或迁移依赖 `home-browse-page`、`home-channels`、`home-hero-banner` 的首页用例(`HomeDramaCard` 组件自身测试保留); +- 新增用例:进入首页即出现 feed(`home-feed-title` 或竖向 PageView)、向上滑动后标题变化(切换短剧)、切到剧场 Tab 后 feed 不再可见; +- `dart analyze lib test` 零告警 + `flutter test` 全过 + `flutter build apk --debug`。 + +**流程**:从 `develop` 拉 `feature/flutter-k33-home-feed`;作者 `Zhou Weidong <502333560@qq.com>`;`--no-ff` 合回 develop 并 push;PROGRESS 留痕;真机验收由用户执行。 + +--- + ## [已处理] 2026-10-20 | K32-A 剧场页按参考图重做(仅 App 端) **用户指令(2026-10-20,原文)**: diff --git a/docs/plans/PROGRESS.md b/docs/plans/PROGRESS.md index abd1c50..97c1f1c 100644 --- a/docs/plans/PROGRESS.md +++ b/docs/plans/PROGRESS.md @@ -20537,3 +20537,31 @@ Running Gradle task 'assembleDebug'... ``` 解读:静态检查零告警,404 条测试全部通过,debug APK 构建成功。工作区原有 `pubspec.lock` 变更未纳入本批提交。真机验收由用户执行。 + +## 2026-10-20 ReelShort:K33-A 首页改为沉浸式 feed 流 + +- 分支:`feature/flutter-k33-home-feed` +- 功能提交:`b7926d6 feat(flutter): 首页改为沉浸式 feed 流` +- develop 合并提交:`53cd2db merge: 合并 K33-A 首页沉浸式 feed`,已推送。 +- `home_view.dart` 的 `_home()` 改为 `PlayerPage(homeMode: true, embedded: true, active: tab==0, drama: 首部, feedDramas: 全部, onDramaChanged/onImmersiveChanged 接 HomeLogic, onSearch 跳剧场并聚焦, onDiscover/onMy 切 Tab)`;浏览型首页组件全部保留未删,仅取消首页引用。 +- 首页打开即竖向 feed,上滑沿用播放器现有 PageView 换剧;清屏仍通过 `onImmersiveChanged` 隐藏底栏;切 Tab 暂停、切回保持当前剧与集;底部仍 4 槽。 +- 测试迁移:`discover_banner_test`(首页轮播 hero 集成)删除,轮播组件测试保留;`home_preview_layout_test`/`home_nav_ui_test`/`widget_test` 的浏览首页断言改为 feed(`home-feed-title`);`k28_a_navigation_test` 重写为 feed 版:进入首页即 feed、上滑标题变化、切剧场 feed 隐藏、feed 搜索跳剧场聚焦、剧场筛选/卡片跳转/320 宽度;`HomeDramaCard` 组件测试保留。 +- `widget_test` 预加载用例改为在首页 feed 创建播放器后清空记录,再统计剧场播放器。 + +门禁原始输出: + +```text +$ dart analyze lib test +Analyzing lib, test... +No issues found! + +$ flutter test +00:38 +399: All tests passed! + +$ flutter build apk --debug +Running Gradle task 'assembleDebug'... + 7.2s +✓ Built build/app/outputs/flutter-apk/app-debug.apk +``` + +解读:静态检查零告警,399 条测试全部通过,debug APK 构建成功。工作区原有 `pubspec.lock` 变更未纳入本批提交。真机验收由用户执行。