// 引入unocss css import '@/plugins/unocss' // 导入全局的svg图标 import '@/plugins/svgIcon' // 初始化多语言 import { setupI18n } from '@/plugins/vueI18n' // 引入状态管理 import { setupStore } from '@/store' // 全局组件 import { setupGlobCom } from '@/components' // 引入 element-plus import { setupElementPlus } from '@/plugins/elementPlus' // 引入 form-create import { setupFormCreate } from '@/plugins/formCreate' // 引入全局样式 import '@/styles/index.scss' // 引入动画 import '@/plugins/animate.css' // 路由 import router, { setupRouter } from '@/router' // 指令 import { setupAuth, setupMountedFocus } from '@/directives' import { createApp } from 'vue' import App from './App.vue' import './permission' import '@/plugins/tongji' // 百度统计 import Logger from '@/utils/Logger' import VueDOMPurifyHTML from 'vue-dompurify-html' // 解决v-html 的安全隐患 // wangEditor 插件注册 import { setupWangEditorPlugin } from '@/views/bpm/model/form/PrintTemplate' import print from 'vue3-print-nb' // 打印插件 import '@/utils/rem.js' import 'amfe-flexible/index.js' import fetchPlugin from './config/axios/fetch' import vue3SeamlessScroll from 'vue3-seamless-scroll' // 创建实例 const setupAll = async () => { const app = createApp(App) app.use(fetchPlugin) await setupI18n(app) setupStore(app) setupGlobCom(app) setupElementPlus(app) setupFormCreate(app) setupRouter(app) // directives 指令 setupAuth(app) setupMountedFocus(app) // wangEditor 插件注册 setupWangEditorPlugin() await router.isReady() app.use(VueDOMPurifyHTML) // 打印 app.use(print) app.use(vue3SeamlessScroll) app.mount('#app') } setupAll() Logger.prettyPrimary(`欢迎使用`, import.meta.env.VITE_APP_TITLE)