main.ts 1.6 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788
  1. // 引入unocss css
  2. import '@/plugins/unocss'
  3. // 导入全局的svg图标
  4. import '@/plugins/svgIcon'
  5. import VueTianditu from 'vue-tianditu'
  6. // 初始化多语言
  7. import { setupI18n } from '@/plugins/vueI18n'
  8. // 引入状态管理
  9. import { setupStore } from '@/store'
  10. // 全局组件
  11. import { setupGlobCom } from '@/components'
  12. // 引入 element-plus
  13. import { setupElementPlus } from '@/plugins/elementPlus'
  14. // 引入 form-create
  15. import { setupFormCreate } from '@/plugins/formCreate'
  16. // 引入全局样式
  17. import '@/styles/index.scss'
  18. // 引入动画
  19. import '@/plugins/animate.css'
  20. // 路由
  21. import router, { setupRouter } from '@/router'
  22. // 指令
  23. import { setupAuth, setupMountedFocus } from '@/directives'
  24. import { createApp } from 'vue'
  25. import App from './App.vue'
  26. import './permission'
  27. import '@/plugins/tongji' // 百度统计
  28. import Logger from '@/utils/Logger'
  29. import mqttTool from '@/utils/mqttTool' // Mqtt工具
  30. import VueDOMPurifyHTML from 'vue-dompurify-html' // 解决v-html 的安全隐患
  31. import DataVVue3 from '@kjgl77/datav-vue3'
  32. // 创建实例
  33. const setupAll = async () => {
  34. const app = createApp(App)
  35. await setupI18n(app)
  36. setupStore(app)
  37. setupGlobCom(app)
  38. setupElementPlus(app)
  39. setupFormCreate(app)
  40. setupRouter(app)
  41. // directives 指令
  42. setupAuth(app)
  43. setupMountedFocus(app)
  44. await router.isReady()
  45. app.use(DataVVue3)
  46. app.use(DataVVue3)
  47. app.use(VueDOMPurifyHTML)
  48. app.config.globalProperties.$mqttTool = mqttTool
  49. app.use(VueTianditu, {
  50. v: '4.0',
  51. tk: import.meta.env.VITE_TK
  52. })
  53. app.mount('#app')
  54. }
  55. setupAll()
  56. Logger.prettyPrimary(`欢迎使用`, import.meta.env.VITE_APP_TITLE)