44 lines
1.3 KiB
TypeScript
44 lines
1.3 KiB
TypeScript
import { createApp } from 'vue';
|
|
import { createPinia } from 'pinia';
|
|
import App from '@/App.vue';
|
|
import router from '@/router';
|
|
import ElementPlus from 'element-plus';
|
|
import zhCn from 'element-plus/es/locale/lang/zh-cn';
|
|
import * as ElementPlusIconsVue from '@element-plus/icons-vue';
|
|
import 'element-plus/dist/index.css';
|
|
import 'element-plus/theme-chalk/dark/css-vars.css';
|
|
import '@/assets/styles/main.scss';
|
|
import VxeUIAll from 'vxe-pc-ui';
|
|
import 'vxe-pc-ui/es/style.css';
|
|
import VxeTable, { VxeUI } from 'vxe-table';
|
|
import 'vxe-table/lib/style.css';
|
|
import { initThemeColor } from '@/utils/theme';
|
|
import { useDark } from '@vueuse/core';
|
|
import i18n from '@/utils/i18n';
|
|
|
|
const isDark = useDark();
|
|
i18n.global.locale = (localStorage.getItem('LANG_LOCALE') || 'ZH') as 'ZH' | 'EN';
|
|
|
|
VxeUI.setTheme(isDark.value ? 'dark' : 'light');
|
|
initThemeColor();
|
|
|
|
const app = createApp(App);
|
|
|
|
import { permission } from '@/utils/permission';
|
|
|
|
// 全局引入图标
|
|
for (const [key, component] of Object.entries(ElementPlusIconsVue)) {
|
|
app.component(key, component);
|
|
}
|
|
app.directive('permission', permission); // 按钮权限_自定义指令
|
|
|
|
app.use(createPinia());
|
|
app.use(router);
|
|
app.use(VxeUIAll);
|
|
app.use(VxeTable);
|
|
app.use(i18n);
|
|
app.use(ElementPlus, {
|
|
locale: zhCn,
|
|
});
|
|
app.mount('#app');
|