// 引入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, setLabelTruncate } from '@/directives' // 初始化 lodop // import { getLodop } from '@/utils/lodop/LodopFuncs' import { createApp } from 'vue' import App from './App.vue' import './permission' import '@/plugins/tongji' // 百度统计 import Logger from '@/utils/Logger' import drawioEmbed from 'drawio-embed'; import VueDOMPurifyHTML from 'vue-dompurify-html' // 解决v-html 的安全隐患 // 创建实例 const setupAll = async () => { const app = createApp(App) await setupI18n(app) setupStore(app) setupGlobCom(app) setupElementPlus(app) setupFormCreate(app) setupRouter(app) app.config.globalProperties.$openDrawioRef = drawioEmbed('https://yudao-admin.hofo.co/drawio/?embed=1&ui=atlas&spin=1&proto=json&lang=zh') // app.config.globalProperties.$getLodop = getLodop; // app.config.globalProperties.$getJCP = JCP; // directives 指令 setupAuth(app) setupMountedFocus(app) setLabelTruncate(app) await router.isReady() app.use(VueDOMPurifyHTML) app.mount('#app') } setupAll() Logger.prettyPrimary(`欢迎使用`, import.meta.env.VITE_APP_TITLE)