You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
84 lines
2.9 KiB
84 lines
2.9 KiB
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 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 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 * as echarts from 'echarts'; |
|
import 'virtual:svg-icons-register' |
|
import print from 'vue3-print-nb' // 打印插件 |
|
|
|
window.$crudCommon = crudCommon; |
|
debug(); |
|
window.axios = axios; |
|
const app = createApp(App); |
|
for (const [key, component] of Object.entries(ElementPlusIconsVue)) { |
|
app.component(key, component); |
|
} |
|
|
|
// 全局挂载 echarts |
|
app.config.globalProperties.$echarts = echarts |
|
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('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.use(error); |
|
app.use(i18n); |
|
app.use(store); |
|
app.use(router); |
|
app.use(print) |
|
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.mount('#app');
|
|
|