2023-05-24 11:08:08 +08:00
|
|
|
|
<template>
|
|
|
|
|
<a-config-provider :locale="locale">
|
|
|
|
|
<router-view />
|
|
|
|
|
<global-setting />
|
|
|
|
|
</a-config-provider>
|
|
|
|
|
</template>
|
|
|
|
|
|
|
|
|
|
<script lang="ts" setup>
|
2023-07-28 16:34:32 +08:00
|
|
|
|
import { computed, onBeforeMount } from 'vue';
|
2023-05-24 11:08:08 +08:00
|
|
|
|
import enUS from '@arco-design/web-vue/es/locale/lang/en-us';
|
|
|
|
|
import zhCN from '@arco-design/web-vue/es/locale/lang/zh-cn';
|
2023-06-08 14:28:53 +08:00
|
|
|
|
import GlobalSetting from '@/components/pure/global-setting/index.vue';
|
2023-05-24 11:08:08 +08:00
|
|
|
|
import useLocale from '@/locale/useLocale';
|
2023-07-28 16:34:32 +08:00
|
|
|
|
import { saveBaseInfo, getBaseInfo } from '@/api/modules/setting/config';
|
|
|
|
|
import { getLocalStorage, setLocalStorage } from '@/utils/local-storage';
|
2023-05-24 11:08:08 +08:00
|
|
|
|
|
|
|
|
|
const { currentLocale } = useLocale();
|
|
|
|
|
const locale = computed(() => {
|
|
|
|
|
switch (currentLocale.value) {
|
|
|
|
|
case 'zh-CN':
|
|
|
|
|
return zhCN;
|
|
|
|
|
case 'en-US':
|
|
|
|
|
return enUS;
|
|
|
|
|
default:
|
|
|
|
|
return zhCN;
|
|
|
|
|
}
|
|
|
|
|
});
|
2023-07-28 16:34:32 +08:00
|
|
|
|
|
|
|
|
|
// 项目初始化时需要获取基础设置信息,看当前站点 url是否为系统内置默认地址,如果是需要替换为当前项目部署的 url 地址
|
|
|
|
|
onBeforeMount(async () => {
|
|
|
|
|
try {
|
|
|
|
|
const isInitUrl = getLocalStorage('isInitUrl'); // 是否已经初始化过 url
|
|
|
|
|
if (isInitUrl === 'true') return;
|
|
|
|
|
const res = await getBaseInfo();
|
|
|
|
|
if (res.url === 'http://127.0.0.1:8081') {
|
|
|
|
|
await saveBaseInfo([
|
|
|
|
|
{
|
|
|
|
|
paramKey: 'base.url',
|
|
|
|
|
paramValue: window.location.origin,
|
|
|
|
|
type: 'string',
|
|
|
|
|
},
|
|
|
|
|
]);
|
|
|
|
|
setLocalStorage('isInitUrl', 'true'); // 设置已经初始化过 url,避免重复初始化
|
|
|
|
|
}
|
|
|
|
|
} catch (error) {
|
|
|
|
|
console.log(error);
|
|
|
|
|
}
|
|
|
|
|
});
|
2023-05-24 11:08:08 +08:00
|
|
|
|
</script>
|