docs(plans): 留痕 K33-K 首页 feed 固定顶栏
This commit is contained in:
1 parent
4a6a31d3cd
commit
a80a0ed4ca
2 files changed
+54
No files matched your search
@@ -1,3 +1,27 @@
|
||||
## [已处理] 2026-10-20 | K33-K 首页 feed 顶栏(tab/刷新/搜索)固定悬浮,不随滑动移动(仅 App 端)
|
||||
|
||||
**用户指令(2026-10-20,原文)**:
|
||||
> 「上方的tab 刷新 搜索不随页面滑动的 悬浮在页面上」
|
||||
|
||||
**现状**:顶部行(刷新按钮 + 漫剧/真人剧/推荐 tab + 搜索)在 `HomeFeedOverlay` 内部,随竖向 `PageView` 的每一页一起滑动,切剧时会跟着位移。
|
||||
|
||||
**口径(只改 Flutter,不动后端、不改接口)**
|
||||
1. 抽出独立组件 `HomeFeedHeader`(建议 `lib/pages/player/widgets/home_feed_header.dart`):
|
||||
- 内容与原 header 一致:左侧刷新(转圈态 `home-feed-refreshing`)、中间三个文字 tab(Key `home-feed-tab-anime/real/recommend`,选中样式不变)、右侧搜索(Key `home-feed-search`);
|
||||
- 自带选中 tab 与 refreshing 状态;参数:`l10n`、`onRefresh`(`Future<bool> Function()`)、`onSearch`、`onMore`(长按刷新按钮时打开更多弹窗)。
|
||||
2. 固定挂载:`PlayerPage` 的 homeMode 分支在竖向 `PageView` 之外的 `Stack` 顶层渲染 `HomeFeedHeader`(`Positioned(top: 0, left: 0, right: 0)` + SafeArea),保证上下滑动切剧时**完全不位移**。
|
||||
- 显示条件:`!_boosting && !(logic.pip || logic.pipPreparing)`;清屏态仍显示;切到其它 Tab / 不活跃时不显示。
|
||||
3. `HomeFeedOverlay` 删除 header 及相关状态,仅保留:底层手势、右侧 rail、底部信息、整集条、加速提示;原 header 的 Key 全部迁移到 `HomeFeedHeader`。
|
||||
4. 其余行为不变:刷新静默、长按中间更多、长按两侧加速、整集条、清屏、返回续播、画中画复位。
|
||||
|
||||
**测试/门禁**
|
||||
- 更新/新增:feed 首屏存在 `home-feed-refresh/tab-*/search`;竖向滑动切剧后这些 Key 的屏幕坐标不变(固定悬浮);加速态与画中画态下 header 不显示;清屏态 header 仍显示;
|
||||
- `dart analyze lib test` 零告警 + `flutter test` 全过 + `flutter build apk --debug`。
|
||||
|
||||
**流程**:从 `develop` 拉 `fix/flutter-k33-feed-header`;作者 `Zhou Weidong <502333560@qq.com>`;`--no-ff` 合回 develop 并 push;PROGRESS 留痕;真机验收由用户执行。
|
||||
|
||||
---
|
||||
|
||||
## [已处理] 2026-10-20 | K33-J 首页 feed:清屏态进度条可拖动 + 暂停时长按两侧恢复播放(仅 App 端)
|
||||
|
||||
**用户指令(2026-10-20,原文)**:
|
||||
|
||||
@@ -20901,3 +20901,33 @@ Running Gradle task 'assembleDebug'...
|
||||
```
|
||||
|
||||
解读:静态检查零告警,415 条测试全部通过,debug APK 构建成功。工作区原有 `pubspec.lock` 变更未纳入本批提交。真机验收由用户执行。
|
||||
|
||||
## 2026-10-20 ReelShort:K33-K 首页 feed 顶栏固定悬浮
|
||||
|
||||
- 分支:`fix/flutter-k33-feed-header`
|
||||
- 功能提交:`9175a7f fix(flutter): 首页 feed 顶栏固定悬浮`
|
||||
- develop 合并提交:`f9d4f98 merge: 合并 K33-K 首页 feed 固定顶栏`,已推送。
|
||||
- 新增 `home_feed_header.dart`:`HomeFeedHeader(l10n, onRefresh, onSearch, onMore)`,自带刷新转圈与 tab 选中;Key `home-feed-refresh`/`home-feed-refreshing`/`home-feed-tab-anime|real|recommend`/`home-feed-search` 全部迁入。
|
||||
- `PlayerPage` homeMode 在竖向 PageView 之外的 Stack 顶层用 `Positioned(top:0,left:0,right:0)` + SafeArea 固定渲染 header;显示条件 `!_boosting && !(pip || pipPreparing)`,清屏态仍显示;切 Tab 时整页 offstage。
|
||||
- `HomeFeedOverlay` 移除 header 及 tab/refresh 状态,只保留手势层、rail、底部信息、整集条、加速提示;构造参数同步精简(移除 onEpisodes/onDownload/onClear/onSearch/onRefreshFeed/onPip)。
|
||||
- 其余行为不变:刷新静默、长按中间更多、长按两侧加速、整集条、清屏、返回续播、画中画复位。
|
||||
|
||||
测试:新增「上滑切剧后刷新/tab/搜索屏幕坐标不变」;加速态 header 隐藏、松手恢复;清屏态 header 仍显示(既有用例);刷新转圈用例迁到 HomeFeedHeader。
|
||||
|
||||
门禁原始输出:
|
||||
|
||||
```text
|
||||
$ dart analyze lib test
|
||||
Analyzing lib, test...
|
||||
No issues found!
|
||||
|
||||
$ flutter test
|
||||
00:38 +416: All tests passed!
|
||||
|
||||
$ flutter build apk --debug
|
||||
Running Gradle task 'assembleDebug'...
|
||||
7.3s
|
||||
✓ Built build/app/outputs/flutter-apk/app-debug.apk
|
||||
```
|
||||
|
||||
解读:静态检查零告警,416 条测试全部通过,debug APK 构建成功。工作区原有 `pubspec.lock` 变更未纳入本批提交。真机验收由用户执行。
|
||||
Reference in new issue
Block a user