docs(plans): 记录首页轮播与观看历史真机修复回执
This commit is contained in:
1 parent
9c6aaed645
commit
ea97c8bc1b
1 file changed
+98
@@ -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 张;手动拖动后仍可从当前页继续自动轮播。
|
||||
|
||||
设备侧截图、日志与最终验收结论由用户执行。
|
||||
Reference in new issue
Block a user