Files
FruitServer/docs/plans/INBOX.md
T

26 lines
2.0 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
## [已处理] 2026-10-20 | K51-A 修复首页进入详情页闪屏/灰屏(仅 App 端)
**用户指令(2026-10-20,原文)**:
> 「从首页进短剧详情页会闪屏 灰屏看下什么问题」
**根因(已定位)**
`PlayerLogic.openDetail()` 在 push 详情页之前先执行:
1. `session.setRouteVisible(false)` —— 视频层被隐藏/降级为未就绪状态,feed 只能渲染封面占位;
2. `await session.playbackSettled` —— 等待期间首页仍可见;
此时封面若尚未进图片缓存,`RemoteImage` 会先画浅色底,叠加遮罩后呈灰白 → 用户看到的就是进详情前的灰屏闪一下;随后 `saveCurrentProgress` 再等待一次,进一步放大该可见窗口。
**口径(只改 Flutter,不动后端、不改接口)**
1. `openDetail()` 改为先 push 路由(视频组件保持挂载,不再 `setRouteVisible(false)`、不再 `await playbackSettled` 后再 push):
- push 之前 `session.setOverlayOpen(true)`,路由返回后 `session.setOverlayOpen(false)`(复用评论面板的暂停/恢复方式,保证详情页覆盖期间不继续外放声音);
- 路由期间视频正常暂停,返回后回到原播放状态与进度,不重新 seek。
- `saveCurrentProgress()` 放到 push 返回之后(不阻塞首帧)。
2. 首页 feed 的「标题点击进详情」「系列信息点击进详情」走同一逻辑,确保都不闪。
3. 详情页自身加载态保持 ink 背景 + 现有骨架,不改。
**测试/门禁**
- 新增:从 feed 点详情后,push 前后视频 port 保持挂载(可断言 `session.active` 不变)、路由返回后播放状态与进度不变;
- 不再出现 `setRouteVisible(false)` 造成的占位渲染;
- `dart analyze lib test` 零告警 + `flutter test` 全过 + `flutter build apk --debug`。
**流程**:从 `develop` 拉 `fix/flutter-k51-detail-flash`;作者 `Zhou Weidong <502333560@qq.com>`;`--no-ff` 合回 develop 并 push;PROGRESS 留痕;真机验收由用户执行。