|
|
@@ -45,6 +45,17 @@ const version = meta.namedItem('revised')?.content ?? '0'
|
|
|
<pre>{{ i18n.global.t('app.slogan') }}</pre>
|
|
|
</div>
|
|
|
<div class="right">
|
|
|
+ <el-dropdown @command="changeLuanguage">
|
|
|
+ {{ luanguage }}
|
|
|
+ <el-icon class="el-icon--right">
|
|
|
+ <arrow-down />
|
|
|
+ </el-icon>
|
|
|
+ <template #dropdown>
|
|
|
+ <el-dropdown-menu>
|
|
|
+ <el-dropdown-item v-for="item in dataList" :key="item.langcode" :command="item.langcode">{{ item.langname }}</el-dropdown-item>
|
|
|
+ </el-dropdown-menu>
|
|
|
+ </template>
|
|
|
+ </el-dropdown>
|
|
|
<div class="right-logo">
|
|
|
<img :src="'./logo/logo-horizontal.png'" />
|
|
|
</div>
|
|
|
@@ -53,6 +64,7 @@ const version = meta.namedItem('revised')?.content ?? '0'
|
|
|
<slot></slot>
|
|
|
</div>
|
|
|
</div>
|
|
|
+
|
|
|
</div>
|
|
|
<div class="sign-layout__footer">
|
|
|
<span>v1.0.{{ version }}</span>
|
|
|
@@ -61,7 +73,14 @@ const version = meta.namedItem('revised')?.content ?? '0'
|
|
|
</template>
|
|
|
|
|
|
<script lang="ts" setup>
|
|
|
+import { computed } from 'vue'
|
|
|
import { i18n } from '@/stores'
|
|
|
+import { useRequest } from '@/hooks/request'
|
|
|
+import { getI18nConfigs } from '@/services/api/common'
|
|
|
+import { localData } from '@/stores/storage'
|
|
|
+
|
|
|
+import service from '@/services'
|
|
|
+import eventBus from '@/services/bus'
|
|
|
|
|
|
defineProps({
|
|
|
title: {
|
|
|
@@ -72,6 +91,49 @@ defineProps({
|
|
|
|
|
|
const meta = document.getElementsByTagName('meta')
|
|
|
const version = meta.namedItem('revised')?.content ?? '0'
|
|
|
+
|
|
|
+const { dataList, run } = useRequest(getI18nConfigs, {
|
|
|
+ manual: true
|
|
|
+})
|
|
|
+
|
|
|
+const luanguage = computed(() => {
|
|
|
+ switch (i18n.global.locale) {
|
|
|
+ case 'zh-CN':
|
|
|
+ return '简体中文'
|
|
|
+ case 'en-US':
|
|
|
+ return 'English'
|
|
|
+ case 'zh-TW':
|
|
|
+ return '繁體中文'
|
|
|
+ default:
|
|
|
+ return 'ภาษาไทย'
|
|
|
+ }
|
|
|
+})
|
|
|
+
|
|
|
+const changeLuanguage = (e: string) => {
|
|
|
+ switch (e) {
|
|
|
+ case 'zh-CN':
|
|
|
+ i18n.global.locale = 'zh-CN'
|
|
|
+ break;
|
|
|
+ case 'en':
|
|
|
+ i18n.global.locale = 'en-US'
|
|
|
+ break;
|
|
|
+ case 'zh-TW':
|
|
|
+ i18n.global.locale ='zh-TW'
|
|
|
+ break;
|
|
|
+ default:
|
|
|
+ i18n.global.locale = 'th'
|
|
|
+ break;
|
|
|
+ }
|
|
|
+ /// 设置语言
|
|
|
+ localData.setValue('appLanguage', i18n.global.locale)
|
|
|
+ /// 重新登出
|
|
|
+ eventBus.$emit('LogoutNotify')
|
|
|
+}
|
|
|
+
|
|
|
+service.onReady().then(() => {
|
|
|
+ run()
|
|
|
+})
|
|
|
+
|
|
|
</script>
|
|
|
|
|
|
<style lang="less">
|