fix: 处理界面展示相关联的问题

This commit is contained in:
MTrun
2022-01-07 22:02:13 +08:00
parent 34722916b0
commit 05ed82b091
21 changed files with 348 additions and 112 deletions
+3 -1
View File
@@ -1,5 +1,7 @@
import { LangEnum } from '@/enums/styleEnum'
export interface LangStateType {
// 当前语言
lang: LangEnum
lang: LangEnum,
// 是否刷新
isReload: boolean
}
+24 -7
View File
@@ -3,25 +3,42 @@ import { lang } from '@/settings/designSetting'
import { LangStateType } from './langStore.d'
import { LangEnum } from '@/enums/styleEnum'
import i18n from '@/i18n/index'
import { setLocalStorage, reloadRoutePage } from '@/utils'
import { GO_LANG_SELECT } from '@/settings/storageConst'
import { setLocalStorage, getLocalStorage, reloadRoutePage } from '@/utils'
import { GO_LANG } from '@/settings/storageConst'
const storageLang: LangStateType = getLocalStorage(GO_LANG)
export const useLangStore = defineStore({
id: 'useLangStore',
state: (): LangStateType => ({
lang
}),
state: (): LangStateType =>
storageLang || {
lang,
// 默认刷新页面
isReload: true
},
getters: {
getLang(): LangEnum {
return this.lang
},
getReload(): boolean {
return this.isReload
}
},
actions: {
changeReload(value: boolean): void {
this.isReload = value
setLocalStorage(GO_LANG, this.$state)
},
changeLang(lang: LangEnum): void {
if (this.lang === lang) return
this.lang = lang
i18n.global.locale = lang
setLocalStorage(GO_LANG_SELECT, lang)
reloadRoutePage()
setLocalStorage(GO_LANG, this.$state)
if (this.getReload) {
reloadRoutePage()
}
}
}
})