docs(spec): 回填异步化进度 — 导航(Part A)+登录(Part B)已落地, B3/A6 删同步因 ProjectListDialog 仍同步而 BLOCKED

This commit is contained in:
gaozheng 2026-06-12 09:13:09 +08:00
parent 6b4267d78a
commit 93462d78ef
1 changed files with 10 additions and 6 deletions

View File

@ -7,14 +7,18 @@
**DatasetDetail 试点:✅ 已完成并通过评审。** 实现计划 `plans/2026-06-11-apiclient-async-datasetdetail.md`8 任务,逐任务 spec+质量双评审 + 整体评审)。测试 75 → 89+14 离线用例)全绿。落地原语:`IApiCall`/`ApiCall`/`ApiBatch`net、`ChartLoad`/`GridLoad`/`IAsyncDatasetRepository`data、控制器 abort-and-replace + 句柄身份比对 + 退出契约、`LoadingOverlay` 网格懒加载遮罩。核心收益落地:详情路径不冻 UI、慢请求可 abort 不回灌、多请求并发 + fail-fast。 **DatasetDetail 试点:✅ 已完成并通过评审。** 实现计划 `plans/2026-06-11-apiclient-async-datasetdetail.md`8 任务,逐任务 spec+质量双评审 + 整体评审)。测试 75 → 89+14 离线用例)全绿。落地原语:`IApiCall`/`ApiCall`/`ApiBatch`net、`ChartLoad`/`GridLoad`/`IAsyncDatasetRepository`data、控制器 abort-and-replace + 句柄身份比对 + 退出契约、`LoadingOverlay` 网格懒加载遮罩。核心收益落地:详情路径不冻 UI、慢请求可 abort 不回灌、多请求并发 + fail-fast。
**未完成(本期非目标,待后续铺开):** **铺开进展2026-06-12 更新**
- **导航路径**`ApiProjectRepository`:空间/项目/结构树/数据集列表/异常树/动态表单)仍同步阻塞 - **导航路径 ✅**(计划 `plans/2026-06-11-apiclient-async-rollout.md` Part A新增 `ApiChain`(串行依赖链原语)、`NavRequest`单请求句柄QVariant payload、`IAsyncProjectRepository``WorkbenchNavController` 全异步NavRequest 续延 + 并发计数 + abort-and-replace + 身份比对,删 busy_/drainbusyChanged=在飞存在性)
- **登录路径**`AuthService`验证码→校验→login2仍同步阻塞 - **登录路径 ✅**(同计划 Part BB1/B2/B4`AuthService` 异步(`CaptchaLoad`/`LoginLoad` + `ApiChain` 编排 verify→RSA→login2`LoginWindow` 不冻 + 可取消(析构 abort`test_auth` live 异步化
- `ApiClient` 同步 `get/postJson` 保留供上述路径使用,尚未移除 - 测试 89 → 116。每块逐任务 spec+质量双评审 + 整体评审通过
可选 follow-up评审建议非阻断`DatasetDetailController::ChartData.grid/gridScale` 死字段;补 `qRegisterMetaType<QList<ApiResponse>>()`(为 cross-thread 铺开准备)。 **仍未完成BLOCKED同根`ProjectListDialog` 仍同步消费 `IProjectRepository`**
- 删除 `ApiClient` 同步 `get/postJson`Part B 的 B3+ 删除同步 `IProjectRepository`Part A 的 A6。解锁前置先把 `ProjectListDialog` 迁移到 `IAsyncProjectRepository`
- 故 `ApiProjectRepository` 暂同时实现同步+异步两接口(过渡技术债)。
> 全 App 异步化铺开的实现计划另见:`plans/2026-06-11-apiclient-async-rollout.md`(如已生成)。 可选 follow-up评审建议非阻断`DatasetDetailController::ChartData.grid/gridScale` 死字段;补 `qRegisterMetaType<QList<ApiResponse>>()`
> 铺开实现计划:`plans/2026-06-11-apiclient-async-rollout.md`Part A/B 已落地B3 BLOCKED
## 1. 背景 ## 1. 背景