// 引入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 } from '@/directives' import { createApp } from 'vue' import App from './App.vue' import './permission' import '@/plugins/tongji' // 百度统计 import Logger from '@/utils/Logger' import VueUeditorWrap from 'vue-ueditor-wrap' import VueDOMPurifyHTML from 'vue-dompurify-html' // 解决v-html 的安全隐患 // 导入全局图片组件 import AppImage from '@/components/common/AppImage.vue' // 导入图片处理指令 import { setupImageDirective } from '@/directives/image' // 创建实例 const setupAll = async () => { const app = createApp(App) app.use(VueUeditorWrap) await setupI18n(app) setupStore(app) setupGlobCom(app) setupElementPlus(app) setupFormCreate(app) setupRouter(app) setupAuth(app) // 注册全局图片组件 app.component('AppImage', AppImage) // 注册图片处理指令 setupImageDirective(app) await router.isReady() app.use(VueDOMPurifyHTML) app.mount('#app') } setupAll() Logger.prettyPrimary(`Tabemate Pro オーダーシステムへようこそ`)