From 7c5e33cd7fb42088ebe785b953dcf67c73c1abf3 Mon Sep 17 00:00:00 2001 From: Seven Date: Thu, 22 Jan 2026 18:07:42 +0700 Subject: [PATCH] =?UTF-8?q?feat:=20=E6=9B=B4=E6=96=B0=20showToast=20?= =?UTF-8?q?=E6=98=BE=E7=A4=BA=E9=80=BB=E8=BE=91=EF=BC=8C=E6=B7=BB=E5=8A=A0?= =?UTF-8?q?=E9=94=99=E8=AF=AF=E4=BB=A3=E7=A0=81=E4=B8=8A=E4=B8=8B=E6=96=87?= =?UTF-8?q?=EF=BC=9B=E6=9B=B4=E6=96=B0=E8=AF=AD=E8=A8=80=E5=AD=98=E5=82=A8?= =?UTF-8?q?=E9=94=AE=E4=BB=A5=E5=8C=85=E5=90=AB=E5=BA=94=E7=94=A8=E7=89=88?= =?UTF-8?q?=E6=9C=AC?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- auto-imports.d.ts | 1 - src/api/index.ts | 4 +++- src/composables/useLanguage.ts | 3 ++- src/vite-env.d.ts | 6 ++++++ 4 files changed, 11 insertions(+), 3 deletions(-) diff --git a/auto-imports.d.ts b/auto-imports.d.ts index 959e51e..f46af94 100644 --- a/auto-imports.d.ts +++ b/auto-imports.d.ts @@ -450,7 +450,6 @@ declare module 'vue' { readonly shallowReactive: UnwrapRef readonly shallowReadonly: UnwrapRef readonly shallowRef: UnwrapRef - readonly showToast: UnwrapRef readonly storeToRefs: UnwrapRef readonly syncRef: UnwrapRef readonly syncRefs: UnwrapRef diff --git a/src/api/index.ts b/src/api/index.ts index c5e1885..68091fa 100644 --- a/src/api/index.ts +++ b/src/api/index.ts @@ -74,7 +74,9 @@ export function safeClient( }, 2000); } else if (!options.silent) { - showToast((res.error as any).message || i18n.global.t("network_error")); + showToast(i18n.global.t((res.error as any).code, { + ...(res.error as any).context, + }) || (res.error as any).message || i18n.global.t("network_error")); } throw res.error; diff --git a/src/composables/useLanguage.ts b/src/composables/useLanguage.ts index fe27f1f..9151b61 100644 --- a/src/composables/useLanguage.ts +++ b/src/composables/useLanguage.ts @@ -38,7 +38,8 @@ export function useLanguage() { } function loadRemoteLanguage() { - const storageKey = `remote-lang-${language.value}`; + const appVersion = window.__APP_VERSION__; + const storageKey = `remote-lang-${language.value}-${appVersion}`; const remoteLangJson = useStorageCache(storageKey, "", { ttl: 24 * 60 * 60 }); // 缓存 1 天 if (remoteLangJson.value) { try { diff --git a/src/vite-env.d.ts b/src/vite-env.d.ts index 0b29c2b..b0e9f90 100644 --- a/src/vite-env.d.ts +++ b/src/vite-env.d.ts @@ -32,3 +32,9 @@ declare module "vue-router" { requiresAuth: ? boolean; } } + +declare global { + interface Window { + __APP_VERSION__: string; + } +}