Files
certd/packages/ui/certd-client/src/App.vue
T

57 lines
1.5 KiB
Vue
Raw Normal View History

2023-01-29 13:44:19 +08:00
<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";
2023-06-27 22:45:27 +08:00
import "dayjs/locale/zh-cn";
import "dayjs/locale/en";
import dayjs from "dayjs";
2023-01-29 13:44:19 +08:00
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;
2023-06-27 22:45:27 +08:00
dayjs.locale("zh-cn");
2023-01-29 13:44:19 +08:00
} else if (value === "en") {
locale.value = enUS;
2023-06-27 22:45:27 +08:00
dayjs.locale("en");
2023-01-29 13:44:19 +08:00
}
}
2023-06-27 22:45:27 +08:00
localeChanged("zh-cn");
2023-01-29 13:44:19 +08:00
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>