初始化
This commit is contained in:
58
frontend/src/App.vue
Normal file
58
frontend/src/App.vue
Normal file
@@ -0,0 +1,58 @@
|
||||
<template>
|
||||
<!--element-plus语言国际化,全局修改为中文-->
|
||||
<!-- 测试升级功能 - 2025-10-24 -->
|
||||
<el-config-provider :locale="locale" :size="assemblySize" :button="buttonConfig">
|
||||
<router-view />
|
||||
</el-config-provider>
|
||||
</template>
|
||||
|
||||
<script lang="ts" setup>
|
||||
import { useI18n } from 'vue-i18n'
|
||||
import { getBrowserLang } from '@/utils'
|
||||
import { useTheme } from '@/hooks/useTheme'
|
||||
import { ElConfigProvider } from 'element-plus'
|
||||
import { type LanguageType } from './stores/interface'
|
||||
import { useGlobalStore } from '@/stores/modules/global'
|
||||
import en from 'element-plus/es/locale/lang/en'
|
||||
import zhCn from 'element-plus/es/locale/lang/zh-cn'
|
||||
|
||||
defineOptions({
|
||||
name: 'App'
|
||||
})
|
||||
|
||||
const globalStore = useGlobalStore()
|
||||
|
||||
// init theme
|
||||
const { initTheme } = useTheme()
|
||||
initTheme()
|
||||
|
||||
// init language
|
||||
const i18n = useI18n()
|
||||
onMounted(() => {
|
||||
const language = globalStore.language ?? getBrowserLang()
|
||||
i18n.locale.value = language
|
||||
globalStore.setGlobalState('language', language as LanguageType)
|
||||
})
|
||||
|
||||
// element language
|
||||
const locale = computed(() => {
|
||||
if (globalStore.language == 'zh') return zhCn
|
||||
if (globalStore.language == 'en') return en
|
||||
return getBrowserLang() == 'zh' ? zhCn : en
|
||||
})
|
||||
|
||||
// element assemblySize
|
||||
const assemblySize = computed(() => globalStore.assemblySize)
|
||||
|
||||
// element button config
|
||||
const buttonConfig = reactive({ autoInsertSpace: false })
|
||||
|
||||
document.getElementById('loadingPage')?.remove()
|
||||
</script>
|
||||
<style scoped>
|
||||
#app {
|
||||
width: 100vw;
|
||||
height: 100vh;
|
||||
overflow: hidden;
|
||||
}
|
||||
</style>
|
||||
Reference in New Issue
Block a user