From 85d10faff41beebf2021109f24bdec3cadc7770a Mon Sep 17 00:00:00 2001 From: lait Date: Mon, 30 Mar 2026 15:45:41 +0800 Subject: [PATCH] =?UTF-8?q?=E6=94=AF=E6=8C=81=E8=AF=AD=E8=A8=80=E5=88=87?= =?UTF-8?q?=E6=8D=A2=E6=97=B6=E4=BF=9D=E5=AD=98=E7=94=A8=E6=88=B7=E8=AE=BE?= =?UTF-8?q?=E7=BD=AE=E8=87=B3=E6=9C=8D=E5=8A=A1=E5=99=A8,=E4=BF=AE?= =?UTF-8?q?=E5=A4=8D=E5=A4=9A=E8=AF=AD=E8=A8=80=E5=88=87=E6=8D=A2=E5=90=8E?= =?UTF-8?q?=E5=88=B7=E6=96=B0=E9=A1=B5=E9=9D=A2=E6=97=A0=E6=B3=95=E6=AD=A3?= =?UTF-8?q?=E7=A1=AE=E4=BD=BF=E7=94=A8=E5=BD=93=E5=89=8D=E8=AF=AD=E8=A8=80?= =?UTF-8?q?=E9=97=AE=E9=A2=98=E3=80=82?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../components/bars/toolbar/components/translate.tsx | 7 ++++++- web/src/store/modules/useUserStore.ts | 11 +++++++++-- 2 files changed, 15 insertions(+), 3 deletions(-) diff --git a/web/src/layouts/components/bars/toolbar/components/translate.tsx b/web/src/layouts/components/bars/toolbar/components/translate.tsx index 0d902f909..63cf0b209 100644 --- a/web/src/layouts/components/bars/toolbar/components/translate.tsx +++ b/web/src/layouts/components/bars/toolbar/components/translate.tsx @@ -17,10 +17,15 @@ export default defineComponent({ const settingStore = useSettingStore() const locales = userStore.getLocales() const { locale, t } = useI18n() - function changeLanguage(item: { label: string, value: string }) { + async function changeLanguage(item: { label: string, value: string }) { userStore.setLanguage(item.value) + const appSettings = settingStore.getSettings('app') + if (appSettings) { + appSettings.useLocale = item.value + } locale.value = item.value settingStore.setTitle(route.meta?.i18n ? t(route.meta?.i18n as string) : route.meta?.title as string) + await userStore.saveSettingToSever() } return () => ( diff --git a/web/src/store/modules/useUserStore.ts b/web/src/store/modules/useUserStore.ts index 9140bd345..2371a31db 100644 --- a/web/src/store/modules/useUserStore.ts +++ b/web/src/store/modules/useUserStore.ts @@ -211,16 +211,23 @@ const useUserStore = defineStore( await nextTick() useThemeColor().initThemeColor() - const locale = settings?.app?.useLocale ?? (language.value?.trim() || 'zh_CN') + const cacheLanguage = cache.get('language', '')?.trim?.() || '' + const settingsLanguage = settings?.app?.useLocale?.trim?.() || '' + const locale = cacheLanguage || settingsLanguage || 'zh_CN' + const appSettings = setting.getSettings('app') + if (appSettings) { + appSettings.useLocale = locale + } setLanguage(locale) } function saveSettingToSever() { const backend_setting = setting.getSettings() - useHttp().post('/admin/permission/update', { backend_setting }).then(() => { + return useHttp().post('/admin/permission/update', { backend_setting }).then(() => { cache.set('sys_settings', backend_setting) }).catch((error) => { console.log(error) + return Promise.reject(error) }) }