修复: vite加@路径别名(解决linter改i18n为@/i18n后5文件import解析失败)+CR-08 P2-7 store error fallback i18n(projects/ideas/workflow/knowledge/tasks补err块+全局t)

This commit is contained in:
lxy
2026-06-15 15:04:49 +08:00
parent d8f1d97804
commit d6eb8551da
6 changed files with 48 additions and 23 deletions
+13 -9
View File
@@ -1,5 +1,6 @@
import { reactive, computed } from 'vue'
import { knowledgeApi } from '../api'
import i18n from '@/i18n'
import type {
KnowledgeRecord,
KnowledgeDetailPayload,
@@ -9,6 +10,9 @@ import type {
KnowledgeConfig,
} from '../api/types'
// composable 外全局 i18n 实例(非 setup 上下文)
const t = ((i18n as any).global.t as (k: string) => string).bind((i18n as any).global)
// ── 全局响应式状态(单例) ──
const state = reactive({
@@ -62,7 +66,7 @@ export function useKnowledgeStore() {
state.items = result
} catch (e: any) {
if (seq !== _itemsReqSeq) return // 旧请求的失败不污染当前视图
state.error = e?.toString() ?? '加载知识库失败'
state.error = e?.toString() ?? t('knowledge.err.loadFailed')
} finally {
if (seq === _itemsReqSeq) state.loading = false
}
@@ -77,7 +81,7 @@ export function useKnowledgeStore() {
state.candidates = result
} catch (e: any) {
if (seq !== _itemsReqSeq) return
state.error = e?.toString() ?? '加载收件箱失败'
state.error = e?.toString() ?? t('knowledge.err.loadInboxFailed')
}
}
@@ -91,7 +95,7 @@ export function useKnowledgeStore() {
state.items = result
} catch (e: any) {
if (seq !== _itemsReqSeq) return
state.error = e?.toString() ?? '检索失败'
state.error = e?.toString() ?? t('knowledge.err.searchFailed')
} finally {
if (seq === _itemsReqSeq) state.loading = false
}
@@ -110,7 +114,7 @@ export function useKnowledgeStore() {
}
return record
} catch (e: any) {
state.error = e?.toString() ?? '创建知识失败'
state.error = e?.toString() ?? t('knowledge.err.createFailed')
return null
}
}
@@ -122,7 +126,7 @@ export function useKnowledgeStore() {
state.items = state.items.filter(k => k.id !== id)
state.candidates = state.candidates.filter(k => k.id !== id)
} catch (e: any) {
state.error = e?.toString() ?? '更新状态失败'
state.error = e?.toString() ?? t('knowledge.err.updateStatusFailed')
}
}
@@ -132,7 +136,7 @@ export function useKnowledgeStore() {
state.items = state.items.filter(k => k.id !== id)
state.candidates = state.candidates.filter(k => k.id !== id)
} catch (e: any) {
state.error = e?.toString() ?? '归档失败'
state.error = e?.toString() ?? t('knowledge.err.archiveFailed')
}
}
@@ -145,7 +149,7 @@ export function useKnowledgeStore() {
state.config = result
} catch (e: any) {
if (seq !== _configReqSeq) return
state.error = e?.toString() ?? '加载配置失败'
state.error = e?.toString() ?? t('knowledge.err.loadConfigFailed')
}
}
@@ -154,7 +158,7 @@ export function useKnowledgeStore() {
await knowledgeApi.saveConfig(config)
state.config = config
} catch (e: any) {
state.error = e?.toString() ?? '保存配置失败'
state.error = e?.toString() ?? t('knowledge.err.saveConfigFailed')
}
}
@@ -163,7 +167,7 @@ export function useKnowledgeStore() {
await knowledgeApi.extractNow()
await loadCandidates()
} catch (e: any) {
state.error = e?.toString() ?? '立即抽取失败'
state.error = e?.toString() ?? t('knowledge.err.extractFailed')
}
}