修复: 页面反馈真实性与竞态守卫八处

- 知识创建失败不再误关弹窗弹成功提示(补返回值检查)
- AuditLog 翻页补请求序号守卫防慢响应覆盖新页
- TaskDrawer 切任务慢响应校验 taskId 才写入
- GitChanges 竞态序号+moduleId 双校验,三处静默失败补错误提示
- 回收站恢复/彻底删除操作中禁用防双击重复提交
- 灵感状态切换失败补错误反馈(原 unhandled rejection)
- FileExplorer 三处失败仅 console 补 Message 提示
- Dashboard 消费 store.error 故障不再伪装空数据
This commit is contained in:
lxy
2026-09-29 14:58:35 +08:00
parent 1d1111ebe7
commit 864a03d2e1
8 changed files with 92 additions and 24 deletions
+6 -3
View File
@@ -244,24 +244,27 @@ const wfSnap = computed(() => {
// 加载
async function load() {
if (!props.taskId) return
const tid = props.taskId // 捕获发起时 taskId,响应回来校验未变才写入(防慢响应覆盖新任务)
if (!tid) return
loading.value = true
errorMsg.value = ''
try {
const [t, ps, ideasList] = await Promise.all([
taskApi.get(props.taskId),
taskApi.get(tid),
projectApi.list(),
ideaApi.list(),
])
if (tid !== props.taskId) return // taskId 已切换,旧任务响应丢弃
task.value = t
projects.value = ps
ideas.value = ideasList
await loadChildren()
await loadParentTitle()
} catch (e: any) {
if (tid !== props.taskId) return // 旧任务请求的失败不污染当前视图
errorMsg.value = e?.toString() ?? t('common.unknownError')
} finally {
loading.value = false
if (tid === props.taskId) loading.value = false // 新一轮 load 已接管 loading 态
}
}