fix: code-review 审查问题修复 + A2UI 测试补齐

Standards 轴:
- 移除 uiArtifacts.ts 的 payloadOf 死代码残留
- AttendanceDevices 残留 any 类型化(补 ClassroomOption.status 字段)
- 批量考勤纠错区分业务失败(已结算/无权限)与系统错误,
  前端提示精确到两类数量
- Dashboard queryFn 六段重复校验块收敛为 safeValidate 助手

Spec 轴:
- 补齐阶段 3.4 A2UI 测试:图表空数据占位、ArtifactErrorBoundary
  降级隔离、useSubmissionState/useXCardSurface 单测(7 用例)
- 阶段 2.2 补两处引导:教师工作台区分「今日无课」与「未分配班级」、
  班级花名册空态带「添加学员」动作
- 契约文档修正 DynamicReview 状态管理描述(多提交点如实说明)

aislop 剩余 16 警告均为必要豁免(类型边界/声明式 SQL 配置/既有文件规模)
This commit is contained in:
2026-08-08 09:43:48 +08:00
parent bcd2d1a559
commit 4b60e0c018
12 changed files with 323 additions and 91 deletions

View File

@@ -156,7 +156,8 @@ interface AiUiForm {
`sseReducer`/`message-mappers` 恢复为 legacy 字段(`message.forms/reviews/charts`
已在 `types.ts` 标注 deprecated渲染层在 uiArtifacts 为空时回退使用;
新数据一律只写 `uiArtifacts`。
- **A2UI 组件实现**`DynamicForm`/`DynamicReview`/`DynamicChart` 共享
`useSubmissionState`(提交状态:防重复提交 + 失败可重试)与 `useXCardSurface`
XCard commands 增量更新 + createSurface 自动去重)
- **A2UI 组件实现**`DynamicForm`/`DynamicChart` 使用 `useSubmissionState`
(单提交点:防重复提交 + 失败可重试)与 `useXCardSurface`XCard commands
增量更新 + createSurface 自动去重)`DynamicReview` 因「逐表确认/逐组确认/全部入库」
多提交点并存,保留组件内多提交状态,仅共享 `useXCardSurface`。
- **提交与确认接口**:与上文契约一致,未变更。