mirror of https://github.com/certd/certd
57 lines
1.5 KiB
Vue
57 lines
1.5 KiB
Vue
<template>
|
|
<a-config-provider :locale="locale">
|
|
<router-view v-if="routerEnabled" />
|
|
</a-config-provider>
|
|
</template>
|
|
|
|
<script>
|
|
import zhCN from "ant-design-vue/es/locale/zh_CN";
|
|
import enUS from "ant-design-vue/es/locale/en_US";
|
|
import { provide, ref, nextTick } from "vue";
|
|
import { usePageStore } from "/src/store/modules/page";
|
|
import { useResourceStore } from "/src/store/modules/resource";
|
|
import { useSettingStore } from "/@/store/modules/settings";
|
|
import 'dayjs/locale/zh-cn';
|
|
import 'dayjs/locale/en';
|
|
import dayjs from 'dayjs'
|
|
export default {
|
|
name: "App",
|
|
setup() {
|
|
//刷新页面方法
|
|
const routerEnabled = ref(true);
|
|
const locale = ref(zhCN);
|
|
async function reload() {
|
|
routerEnabled.value = false;
|
|
await nextTick();
|
|
routerEnabled.value = true;
|
|
}
|
|
function localeChanged(value) {
|
|
console.log("locale changed:", value);
|
|
if (value === "zh-cn") {
|
|
locale.value = zhCN;
|
|
dayjs.locale('zh-cn');
|
|
} else if (value === "en") {
|
|
locale.value = enUS;
|
|
dayjs.locale('en');
|
|
}
|
|
}
|
|
localeChanged('zh-cn')
|
|
provide("fn:router.reload", reload);
|
|
provide("fn:locale.changed", localeChanged);
|
|
|
|
//其他初始化
|
|
const resourceStore = useResourceStore();
|
|
resourceStore.init();
|
|
const pageStore = usePageStore();
|
|
pageStore.init();
|
|
const settingStore = useSettingStore();
|
|
settingStore.init();
|
|
|
|
return {
|
|
routerEnabled,
|
|
locale
|
|
};
|
|
}
|
|
};
|
|
</script>
|