import { createApp } from 'vue' import website from './config/website' import axios from './axios' import router from './router/' import store from './store' import i18n from './lang/' import { language, messages } from './lang/' import * as ElementPlusIconsVue from '@element-plus/icons-vue' import ElementPlus from 'element-plus' import 'element-plus/dist/index.css' import Avue from '@smallwei/avue' import '@smallwei/avue/lib/index.css' import avueUeditor from 'avue-plugin-ueditor' import crudCommon from '@/mixins/crud.js' import { getScreen } from './utils/util' import './permission' import error from './error' import App from './App.vue' import 'animate.css' import dayjs from 'dayjs' import 'styles/common.scss' import * as Cesium from 'cesium' // 系统组件 import debug from './debug' import VueClipboard from 'vue3-clipboard' import highlight from './components/highlight/main.vue' import codeEditor from './components/code-editor/main.vue' import basicBlock from './components/basic-block/main.vue' import basicContainer from './components/basic-container/main.vue' import SvgIcon from './components/SvgIcon.vue' import thirdRegister from './components/third-register/main.vue' import flowDesign from './components/flow-design/main.vue' import flowDesignStep from './components/flow-design-step/main.vue' // 业务组件 // import codeSetting from './views/tool/codesetting.vue'; // import formSetting from './views/tool/formsetting.vue'; // import tenantPackage from './views/system/tenantpackage.vue'; // import tenantDatasource from './views/system/tenantdatasource.vue'; // 全局组件 import globalComponents from '@/components' import { onResize, pxToRem } from '@/utils/rem' onResize() import 'virtual:svg-icons-register' window.$crudCommon = crudCommon debug() window.axios = axios const { VITE_APP_BASE,VITE_APP_CESIUM_TOKEN } = import.meta.env window.CESIUM_BASE_URL = `${VITE_APP_BASE}cesiumPu` Cesium.Ion.defaultAccessToken = VITE_APP_CESIUM_TOKEN const app = createApp(App) for (const [key, component] of Object.entries(ElementPlusIconsVue)) { app.component(key, component) } app.component('basicContainer', basicContainer) app.component('basicBlock', basicBlock) app.component('highlight', highlight) app.component('codeEditor', codeEditor) app.component('thirdRegister', thirdRegister) app.component('flowDesign', flowDesign) app.component('flowDesignStep', flowDesignStep) app.component('SvgIcon', SvgIcon) // app.component('codeSetting', codeSetting); // app.component('formSetting', formSetting); // app.component('tenantPackage', tenantPackage); // app.component('tenantDatasource', tenantDatasource); app.config.globalProperties.$app = app app.config.globalProperties.$dayjs = dayjs app.config.globalProperties.website = website app.config.globalProperties.getScreen = getScreen app.config.globalProperties.pxToRem = pxToRem app.use(error) app.use(i18n) app.use(store) app.use(router) app.use(ElementPlus, { locale: messages[language], }) app.use(Avue, { axios, calcHeight: 10, locale: messages[language], }) app.use(avueUeditor, { axios }) app.use(VueClipboard, { autoSetContainer: true, appendToBody: true, // 这可以帮助解决一些更复杂的使用场景下的问题 }) app.use(globalComponents) app.mount('#app')