docs(plans): 留痕 K65 冷启动首页预取

This commit is contained in:
Zhou Weidong committed 2026-10-20 19:52:23 +08:00
1 parent f6ce79c65a
commit 5e509b20ed
2 files changed
+71 -44

No files matched your search

+31
View File
@@ -22331,3 +22331,34 @@ Running Gradle task 'assembleDebug'...
```
解读:静态检查零告警,473 条测试全部通过,debug APK 构建成功。真机验收由用户执行。
## 2026-10-20 ReelShort:K65-A 冷启动提前拉取首页数据
- 前置状态:K64-A 已完成并合并,develop 合并提交 `1199db7`。
- 分支:`feat/startup-prefetch`
- 功能提交:`9b31d83 perf(home): 冷启动提前拉取首页数据`
- develop 合并提交:`c76b388 merge: 合并 K65-A 冷启动首页预取`,已推送。
- `main()` 不再等待地址探测,先启动 `AppConfig.ready` 并立即 `runApp`;竖屏设置与本地服务地址读取仍保持等待。
- 三个地址候选改为 `Future.wait` 并行探测,全部返回后仍按本机、开发机、公网的原有优先级选择首个成功地址;全部失败继续使用指定 fallback 或平台默认地址。
- `CatalogController.load()` 首帧先进入 loading,再等待 ready 后请求首页;默认 ready 按需生成已完成 Future,避免 fake-async 跨用例复用造成挂起。
- `ApiClient` 未显式指定 baseUrl 时,在每次请求前同步最新运行时地址;显式 baseUrl 保持固定,确保启动探测完成后首页请求真正发往选中地址。
测试:新增并行探测门闩、优先级选择、ready 完成前零请求、最终地址生效及客户端先构造后探测动态地址用例;全量既有用例保持通过。
门禁原始输出:
```text
$ dart analyze lib test
Analyzing lib, test...
No issues found!
$ flutter test
00:48 +475: All tests passed!
$ flutter build apk --debug
Running Gradle task 'assembleDebug'...
7.5s
✓ Built build/app/outputs/flutter-apk/app-debug.apk
```
解读:静态检查零告警,475 条测试全部通过,debug APK 构建成功。真机验收由用户执行。