main.ts 2.5 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273
  1. import { createApp } from 'vue'
  2. import App from './App.vue'
  3. import router from './router'
  4. import { directive } from '/@/utils/directive'
  5. import { i18n } from '/@/i18n'
  6. import other from '/@/utils/other'
  7. import '/@/assets/style/tailwind.css' // 先引入tailwind css, 以免element-plus冲突
  8. import ElementPlus from 'element-plus'
  9. import 'element-plus/dist/index.css'
  10. import '/@/theme/index.scss'
  11. import mitt from 'mitt'
  12. import VueGridLayout from 'vue-grid-layout'
  13. import piniaPersist from 'pinia-plugin-persist'
  14. // @ts-ignore
  15. import fastCrud from './settings.ts'
  16. import pinia from './stores'
  17. import permission from '/@/plugin/permission/index'
  18. // @ts-ignore
  19. import eIconPicker, { iconList, analyzingIconForIconfont } from 'e-icon-picker'
  20. import 'e-icon-picker/icon/default-icon/symbol.js' //基本彩色图标库
  21. import 'e-icon-picker/index.css' // 基本样式,包含基本图标
  22. import 'font-awesome/css/font-awesome.min.css'
  23. import elementPlus from 'e-icon-picker/icon/ele/element-plus.js' //element-plus的图标
  24. import fontAwesome470 from 'e-icon-picker/icon/fontawesome/font-awesome.v4.7.0.js' //fontAwesome470的图标
  25. import eIconList from 'e-icon-picker/icon/default-icon/eIconList.js'
  26. import iconfont from '/@/assets/iconfont/iconfont.json' //引入json文件
  27. import '/@/assets/iconfont/iconfont.css' //引入css
  28. // 自动注册插件
  29. import { scanAndInstallPlugins } from '/@/views/plugins/index'
  30. import VXETable from 'vxe-table'
  31. import 'vxe-table/lib/style.css'
  32. import '/@/assets/style/reset.scss'
  33. import 'element-tree-line/dist/style.css'
  34. import dayjs from 'dayjs'
  35. import UTC from 'dayjs/plugin/utc'
  36. import Timezon from 'dayjs/plugin/timezone'
  37. import IsSameOrBefore from 'dayjs/plugin/isSameOrBefore'
  38. import 'dayjs/locale/zh-cn'
  39. dayjs.extend(UTC)
  40. dayjs.extend(Timezon)
  41. dayjs.extend(IsSameOrBefore)
  42. dayjs.locale('zh-cn')
  43. let forIconfont = analyzingIconForIconfont(iconfont) //解析class
  44. iconList.addIcon(forIconfont.list) // 添加iconfont dvadmin3的icon
  45. iconList.addIcon(elementPlus) // 添加element plus的图标
  46. iconList.addIcon(fontAwesome470) // 添加fontAwesome 470版本的图标
  47. let app = createApp(App)
  48. scanAndInstallPlugins(app)
  49. app.use(eIconPicker, {
  50. addIconList: eIconList, //全局添加图标
  51. removeIconList: [], //全局删除图标
  52. zIndex: 3100, //选择器弹层的最低层,全局配置
  53. })
  54. pinia.use(piniaPersist)
  55. directive(app)
  56. other.elSvg(app)
  57. app.use(VXETable)
  58. app.use(permission)
  59. app.use(pinia).use(router).use(ElementPlus, { i18n: i18n.global.t }).use(i18n).use(VueGridLayout).use(fastCrud).mount('#app')
  60. app.config.globalProperties.mittBus = mitt()