main.ts 1.3 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576
  1. import '@/plugins/unocss'
  2. import '@/plugins/svgIcon'
  3. import { setupI18n } from '@/plugins/vueI18n'
  4. import { setupStore } from '@/store'
  5. import { setupGlobCom } from '@/components'
  6. import { setupElementPlus } from '@/plugins/elementPlus'
  7. import { setupFormCreate } from '@/plugins/formCreate'
  8. import '@/styles/index.scss'
  9. import '@/plugins/animate.css'
  10. import './assets/fonts/iconfont.css'
  11. import router, { setupRouter } from '@/router'
  12. import { setupAuth, setupMountedFocus } from '@/directives'
  13. import { createApp } from 'vue'
  14. import App from './App.vue'
  15. import './permission'
  16. import '@/plugins/tongji'
  17. import Logger from '@/utils/Logger'
  18. import VueDOMPurifyHTML from 'vue-dompurify-html'
  19. import Print from 'vue3-print-nb'
  20. import Flex from '@/components/Flex/Flex.vue'
  21. import fetchPlugin from './config/axios/fetch';
  22. export const MAIN_VERSION = '4.4.9'
  23. const setupAll = async () => {
  24. const app = createApp(App)
  25. app.use(fetchPlugin);
  26. await setupI18n(app)
  27. setupStore(app)
  28. setupGlobCom(app)
  29. setupElementPlus(app)
  30. setupFormCreate(app)
  31. setupRouter(app)
  32. setupAuth(app)
  33. setupMountedFocus(app)
  34. await router.isReady()
  35. app.use(VueDOMPurifyHTML)
  36. app.component('Flex', Flex)
  37. app.use(Print)
  38. app.mount('#app')
  39. }
  40. setupAll()
  41. Logger.prettyPrimary(`欢迎使用`, import.meta.env.VITE_APP_TITLE)