forked from drone/command-center-dashboard

罗广辉
2025-04-21 2800fa4f32f3900509cb4d6eefaf2bfaf54efdd7
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
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')