docs(plans): 合并真机缺陷修复回执

This commit is contained in:
Zhou Weidong committed 2026-10-17 17:00:59 +08:00
commit d51167550f
1 file changed
+98
+98
View File
@@ -2101,3 +2101,101 @@ b7b1c50..3e8703b develop -> develop
```
解读:K7 已合并推送;author/committer 均为 Zhou Weidong。
---
## 2026-10-17 K7 真机缺陷修复:观看历史 Provider 与首页轮播数据源
### 22.1 范围与分支
叙述:用户真机验收后报告观看历史仍报错、首页轮播仍不显示。本轮只修客户端
Provider 注册与首页轮播数据源,不改后端、Web、specs 或既有发现页分区逻辑。
ReelShort 从 `develop 3e8703b` 拉
`fix/flutter-home-watch-provider-banners`;FruitServer 从 `develop 9c6aaed`
拉 `docs/flutter-home-watch-device-fix`,本仓库只改 `docs/plans/PROGRESS.md`。
### 22.2 先红:复现设备报告
真实 `LumaDramaApp` Provider 树打开「我的 -> 观看历史」:
```text
ProviderNotFoundException:
Could not find the correct Provider<CatalogRepository>
above this _WatchRecordsBody Widget
```
首页 feed 返回 2 条 banner、discover feed 返回 0 条 banner:
```text
Expected: exactly one matching candidate
Actual: Found 0 widgets with type "CoverCarousel"
```
解读:两处红灯分别复现了用户报告的 Provider 缺失和轮播为空。
### 22.3 修复
- `lib/app.dart` 在现有 Repository Provider 附近注册
`Provider<CatalogRepository>.value(value: _catalogRepository)`,与
`CatalogController` 共用同一实例。
- `lib/pages/discover/discover_view.dart` 改为监听
`CatalogController.feed.banners`,修复后首页 tab 使用 `/app/home/feed`
的 banners;发现页分区仍使用 `CategoryController`,没有新增接口。
- 新增 `test/watch/watch_history_provider_test.dart`:在真实 Provider 树打开
观看历史,断言不抛错并展示空态。
- 新增 `test/discover/home_banner_source_test.dart`:home banners 为 2、
discover banners 为空时,断言渲染两个圆点、首图显示且 4.5 秒后自动切到次图。
### 22.4 门禁原始输出
```text
$ dart analyze lib test
Analyzing lib, test...
No issues found!
```
```text
$ flutter test test/watch/watch_history_provider_test.dart test/discover/home_banner_source_test.dart
00:01 +2: All tests passed!
```
```text
$ flutter test test/discover/cover_carousel_test.dart test/watch/watch_records_page_test.dart
00:00 +12: All tests passed!
```
```text
$ flutter test
00:16 +286 ~1: All tests passed!
```
解读:完整套件 286 项通过,1 项联调测试因客户端接口服务未启动按设计跳过;
输出中的 `[WatchRecordsController] ...` 异常堆栈来自故意注入失败的既有测试。
### 22.5 Git
```text
5058853 fix(flutter): 注册目录仓库并修正首页轮播数据源
6cc5bfc merge: 合并首页轮播与观看历史真机修复
3e8703b..6cc5bfc develop -> develop
```
修复提交与合并提交的 author/committer 均为
`Zhou Weidong <502333560@qq.com>`。
### 22.6 用户真机验证步骤与预期
以下设备侧取证由用户执行,开发机测试不能替代真机证据。
1. 使用最新 `develop` 重新构建并安装,登录用户设备
`d-mvc33zh5-pemv3e`。
预期:`flutter run` 终端不再出现 `ProviderNotFoundException`。
2. 打开「我的 -> 观看历史」。
预期:页面正常打开;有历史时显示剧目与进度,无历史时显示空态,不再进入
Provider 错误页。
3. 回到发现页并等待首页 feed 加载完成。
预期:顶部轮播显示后端 `/app/home/feed` 返回的 2 张 banner,底部有两个圆点。
4. 等待 4.5 秒。
预期:轮播自动切到第 2 张;手动拖动后仍可从当前页继续自动轮播。
设备侧截图、日志与最终验收结论由用户执行。