fix: i18n

This commit is contained in:
wangdan-fit2cloud 2025-01-20 20:20:44 +08:00
parent b3d937e695
commit b758c9ef91
3 changed files with 10 additions and 4 deletions

View File

@ -25,6 +25,8 @@ instance.interceptors.request.use(
}
const { user } = useStore()
const token = user.getToken()
const language = user.getLanguage()
config.headers['Accept-Language'] = `${language}`
if (token) {
config.headers['AUTHORIZATION'] = `${token}`
}
@ -208,7 +210,7 @@ export const postStream: (url: string, data?: unknown) => Promise<Result<any> |
if (token) {
headers['AUTHORIZATION'] = `${token}`
}
headers['Accept-Language'] = `${language}`
headers['Accept-Language'] = `${language}`
return fetch(url, {
method: 'POST',
body: data ? JSON.stringify(data) : undefined,

View File

@ -35,7 +35,7 @@ const useUserStore = defineStore({
getLanguage() {
const application = useApplicationStore()
return this.userType === 1
? this.userInfo?.language || localStorage.getItem('language')
? this.userInfo?.language || localStorage.getItem('MaxKB-locale')
: application?.userLanguage
},
showXpack() {
@ -126,8 +126,7 @@ const useUserStore = defineStore({
async profile() {
return UserApi.profile().then(async (ok) => {
this.userInfo = ok.data
useLocalStorage(localeConfigKey, 'zh-CN').value = ok.data?.language
// localStorage.setItem('language', ok.data?.language)
useLocalStorage(localeConfigKey, 'zh-CN').value = ok.data.language
return this.asyncGetProfile()
})
},
@ -174,6 +173,7 @@ const useUserStore = defineStore({
return new Promise((resolve, reject) => {
UserApi.postLanguage({ language: lang }, loading)
.then(async (ok) => {
useLocalStorage(localeConfigKey, 'zh-CN').value = lang
window.location.reload()
resolve(ok)

View File

@ -106,8 +106,11 @@ import type { FormInstance, FormRules } from 'element-plus'
import useStore from '@/stores'
import authApi from '@/api/auth-setting'
import { MsgConfirm, MsgSuccess } from '@/utils/message'
import { t } from '@/locales'
import QrCodeTab from '@/views/login/components/QrCodeTab.vue'
import { useI18n } from 'vue-i18n'
const { locale } = useI18n({ useScope: 'global' })
const loading = ref<boolean>(false)
const { user } = useStore()
const router = useRouter()
@ -212,6 +215,7 @@ const login = () => {
user
.login(loginMode.value, loginForm.value.username, loginForm.value.password)
.then(() => {
locale.value = localStorage.getItem('MaxKB-locale') || 'zh-CN'
router.push({ name: 'home' })
})
.finally(() => (loading.value = false))