修复: 页面反馈真实性与竞态守卫八处
- 知识创建失败不再误关弹窗弹成功提示(补返回值检查) - AuditLog 翻页补请求序号守卫防慢响应覆盖新页 - TaskDrawer 切任务慢响应校验 taskId 才写入 - GitChanges 竞态序号+moduleId 双校验,三处静默失败补错误提示 - 回收站恢复/彻底删除操作中禁用防双击重复提交 - 灵感状态切换失败补错误反馈(原 unhandled rejection) - FileExplorer 三处失败仅 console 补 Message 提示 - Dashboard 消费 store.error 故障不再伪装空数据
This commit is contained in:
@@ -211,6 +211,7 @@
|
||||
*/
|
||||
import { ref, computed, watch, reactive, onMounted, onUnmounted, onActivated, onDeactivated } from 'vue'
|
||||
import { useI18n } from 'vue-i18n'
|
||||
import { Message } from '@arco-design/web-vue'
|
||||
import { listen, type UnlistenFn } from '@tauri-apps/api/event'
|
||||
import { moduleApi, type ProjectModuleRecord, type FileTreeEntry, type GitStatusResult } from '@/api/module'
|
||||
import FileTree from './FileTree.vue'
|
||||
@@ -461,6 +462,7 @@ async function onScanSubmodules() {
|
||||
console.log('[FileExplorer] 扫描到新工程:', n)
|
||||
}
|
||||
} catch (e) {
|
||||
Message.error(t('common.unknownError'))
|
||||
console.error('[FileExplorer] 扫描子仓库失败:', e)
|
||||
}
|
||||
}
|
||||
@@ -526,6 +528,7 @@ async function onSaveModule() {
|
||||
showModuleModal.value = false
|
||||
await loadModules()
|
||||
} catch (e) {
|
||||
Message.error(t('common.unknownError'))
|
||||
console.error('[FileExplorer] 保存工程失败:', e)
|
||||
} finally {
|
||||
savingModule.value = false
|
||||
@@ -542,6 +545,7 @@ async function onRemoveModule() {
|
||||
currentModuleId.value = ''
|
||||
await loadModules()
|
||||
} catch (e) {
|
||||
Message.error(t('common.unknownError'))
|
||||
console.error('[FileExplorer] 删除工程失败:', e)
|
||||
} finally {
|
||||
removingModule.value = false
|
||||
|
||||
Reference in New Issue
Block a user