mirror of
https://gitee.com/dromara/go-view.git
synced 2025-04-06 03:58:04 +08:00
45 lines
1.1 KiB
TypeScript
45 lines
1.1 KiB
TypeScript
import { defineStore } from 'pinia'
|
|
import { lang } from '@/settings/designSetting'
|
|
import { LangStateType } from './langStore.d'
|
|
import { LangEnum } from '@/enums/styleEnum'
|
|
import i18n from '@/i18n/index'
|
|
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 =>
|
|
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, this.$state)
|
|
|
|
if (this.getReload) {
|
|
reloadRoutePage()
|
|
}
|
|
}
|
|
}
|
|
})
|