55 lines
1.5 KiB
TypeScript
55 lines
1.5 KiB
TypeScript
import { createApp, Directive } from 'vue';
|
|
import App from './App.vue';
|
|
import router from '@/router';
|
|
import { setupStore } from '@/store';
|
|
|
|
import ElementPlus from 'element-plus';
|
|
import * as ElementPlusIconsVue from '@element-plus/icons-vue';
|
|
import Pagination from '@/components/Pagination/index.vue';
|
|
import '@/permission';
|
|
|
|
import Antd from 'ant-design-vue';
|
|
import 'ant-design-vue/dist/reset.css'; // Ant Design 全局样式重置
|
|
import dayjs from 'dayjs'; // ant 中文语言
|
|
import 'dayjs/locale/zh-cn';
|
|
// @ts-ignore
|
|
import 'virtual:svg-icons-register';
|
|
// 3d地图
|
|
import * as Cesium from 'cesium';
|
|
import 'cesium/Build/Cesium/Widgets/widgets.css';
|
|
|
|
// 国际化
|
|
import i18n from '@/lang/index';
|
|
|
|
import '@/styles/index.scss';
|
|
import 'element-plus/theme-chalk/index.css';
|
|
//import 'element-plus/theme-chalk/dark/css-vars.css';
|
|
import WujieVue from 'wujie-vue3';
|
|
|
|
const app = createApp(App);
|
|
// 自定义指令
|
|
import * as directive from '@/directive';
|
|
Object.keys(directive).forEach(key => {
|
|
app.directive(key, (directive as { [key: string]: Directive })[key]);
|
|
});
|
|
for (const [key, component] of Object.entries(ElementPlusIconsVue)) {
|
|
app.component(key, component);
|
|
}
|
|
|
|
dayjs.locale('zh-cn');
|
|
// 全局方法
|
|
import { getDictionaries } from '@/api/dict';
|
|
app.config.globalProperties.$getDictionaries = getDictionaries;
|
|
|
|
// 全局挂载
|
|
setupStore(app);
|
|
app
|
|
.component('Pagination', Pagination)
|
|
.use(router)
|
|
.use(ElementPlus)
|
|
.use(Antd)
|
|
.use(Antd)
|
|
.use(WujieVue)
|
|
.use(i18n)
|
|
.mount('#app');
|