diff --git a/docs/plans/INBOX.md b/docs/plans/INBOX.md index 2d7d2cb..7d1fa47 100644 --- a/docs/plans/INBOX.md +++ b/docs/plans/INBOX.md @@ -1,3 +1,29 @@ +## [已处理] 2026-10-20 | K33-E 首页 feed 无感刷新 / rail 下移 / 进度圆点与整集条底(仅 App 端) + +**用户指令(2026-10-20,原文)**: +> 「1刷新要无感刷新 现在刷新会白屏 2而且 收藏 评论喜欢 分享位置太靠上 3 拖动圆点不居中 拖动的时候放大进度条 观看完整剧集的背景不明显」 + +**口径(只改 Flutter,不动后端、不改接口)** + +1. 无感刷新: + - `CatalogController` 新增 `Future refresh()`:静默请求 `repository.fetchHomeFeed()`,成功则替换 `feed` 并 `notifyListeners()`,失败返回 false,**不修改 `loading`、不置 `error`、不清空旧数据**; + - feed 刷新按钮改为调用 `catalog.refresh()`(`HomePage` 透传给 `_HomeTabs` 的 `onRefreshFeed` 改用它,不再用 `load`); + - 刷新期间不出现全屏 loading/白屏,当前视频与页面保持;失败时 SnackBar 轻提示(复用 `catalogError`)。 +2. 右侧互动栏下移:`HomeFeedOverlay` 的 rail 对齐由 `Alignment(1.0, 0.45)` 改为更靠下(约 `Alignment(1.0, 0.68)`,以底部信息区上方留 12 为界),不得压到底部信息或整集条。 +3. 整集条与进度: + - 圆点垂直居中:圆点中心必须与进度线中心重合(`Positioned` 用 `top: (trackHeight - dot) / 2` 或 `Align(center)`,不能出现上下偏移); + - 拖动时放大:常态轨道 2px、圆点 6px;拖动中轨道 4px、圆点 10px,松手回落; + - 「观看完整剧集」条背景要明显:半透明深色 `0x4D000000`、圆角 0(整条通栏),高度 44,文字与箭头仍垂直居中; + - 点击/拖动手势区高度保持 ≥24px。 + +**测试/门禁** +- 新增/更新:`CatalogController.refresh` 不改变 `loading` 且失败保留旧数据;刷新点击不出现全屏 loading;rail 位置断言(位于底部信息区上方);圆点中心与轨道中心一致;拖动时轨道/圆点尺寸变化; +- `dart analyze lib test` 零告警 + `flutter test` 全过 + `flutter build apk --debug`。 + +**流程**:从 `develop` 拉 `fix/flutter-k33-feed-refresh`;作者 `Zhou Weidong <502333560@qq.com>`;`--no-ff` 合回 develop 并 push;PROGRESS 留痕;真机验收由用户执行。 + +--- + ## [已处理] 2026-10-20 | K33-D 首页 feed 去底色/整集条透明+居中+圆点/返回续播(仅 App 端) **用户指令(2026-10-20,原文)**: diff --git a/docs/plans/PROGRESS.md b/docs/plans/PROGRESS.md index 57b6df4..8593dc3 100644 --- a/docs/plans/PROGRESS.md +++ b/docs/plans/PROGRESS.md @@ -20698,3 +20698,33 @@ Running Gradle task 'assembleDebug'... ``` 解读:静态检查零告警,403 条测试全部通过,debug APK 构建成功。工作区原有 `pubspec.lock` 变更未纳入本批提交。真机验收由用户执行。 + +## 2026-10-20 ReelShort:K33-E 首页 feed 无感刷新 / rail 下移 / 进度细节 + +- 分支:`fix/flutter-k33-feed-refresh` +- 功能提交:`82fe237 fix(flutter): 首页 feed 静默刷新与进度条细节` +- develop 合并提交:`564c0db merge: 合并 K33-E 首页 feed 刷新与进度优化`,已推送。 +- `CatalogController.refresh()`:静默 fetchHomeFeed,成功替换并 notify、返回 true;失败返回 false,且不改 `loading`/`error`/旧数据。feed 刷新按钮改用 `catalog.refresh()`,失败在 `player_view` 弹 `catalogError` SnackBar,刷新期间不出现全屏 loading。 +- rail 对齐 `Alignment(1.0, 0.68)`,底部不与信息区/整集条重叠。 +- 整集条背景 `0x4D000000` 通栏、高 44;进度圆点中心与轨道中心严格重合(都以距条底 6px 为基准);常态轨道 2px / 圆点 6px,拖动中 4px / 10px,松手回落;手势区 24px。进度区只接管横向拖动,整条点击仍打开全屏播放页,避免点文字被 seek 抢走。 +- 其余结构未变。 + +测试:新增 `CatalogController.refresh` 成功/失败用例(失败保留旧数据且 loading 不变);首页刷新不出现全屏 loading;rail 位于底部信息上方;整集条背景色/高度、圆点与轨道同心、拖动 4/10 与松手 2/6。 + +门禁原始输出: + +```text +$ dart analyze lib test +Analyzing lib, test... +No issues found! + +$ flutter test +00:39 +407: All tests passed! + +$ flutter build apk --debug +Running Gradle task 'assembleDebug'... + 12.7s +✓ Built build/app/outputs/flutter-apk/app-debug.apk +``` + +解读:静态检查零告警,407 条测试全部通过,debug APK 构建成功。工作区原有 `pubspec.lock` 变更未纳入本批提交。真机验收由用户执行。