import { defineStore } from 'pinia' import { en, zhHans } from 'vuetify/locale' import { reactive } from 'vue' const elLocaleMap = { 'zh-CN': zhHans, en: en } export const useLocaleStore = defineStore('locales', () => { const localeMap = [ { lang: 'zh-CN', name: '简体中文' }, { lang: 'en', name: 'English' } ] const currentLocale = reactive({ lang: 'zh-CN', elLocale: elLocaleMap['zh-CN'] }) const setCurrentLocale = (localeMap) => { // this.locale = Object.assign(this.locale, localeMap) currentLocale.lang = localeMap.lang currentLocale.elLocale = elLocaleMap[localeMap.lang] } return { localeMap, currentLocale, setCurrentLocale } }, { persist: true, // ref() 持久化响应 } )