main.ts 2.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172
  1. import {createApp} from 'vue';
  2. import pinia from '/@/stores/index';
  3. import App from './App.vue';
  4. import router from './router';
  5. // @ts-ignore
  6. import {directive} from '/@/directives';
  7. import {i18n} from '/@/languages';
  8. import mgmt from "mgmt-component-v3"
  9. import ElementPlus from 'element-plus';
  10. //element icon
  11. import * as ElementPlusIconsVue from '@element-plus/icons-vue';
  12. import 'element-plus/dist/index.css';
  13. import VueGridLayout from 'vue-grid-layout';
  14. import Layout from "/@/layouts/index.vue";
  15. import vue3PreviewImage from 'vue3-preview-image'
  16. import './styles/index.scss'
  17. import './assets/styles/index.scss'
  18. import './assets/myStyle.scss'
  19. import './assets/customStyle.scss'
  20. // 联调环境上测试
  21. // 平台端账号/密码 admin/maxkey
  22. // 租户端账号/密码 自行手机号或邮箱注册即可
  23. // axios的私有库的包名 yx-axios
  24. // 拉包命令 yarn install --registry=http://nexus.gys.qevoc.com/repository/npm-group/
  25. // 本地调试需要把host设置 127.0.0.1 xxx.9n1m.com 通过浏览器输入xxx.9n1m.com:5173访问项目
  26. import constantRoutes from '/@/router/yanxiang.js'
  27. const mgmtComponentConfig = {
  28. whiteList: [],
  29. appPath: window._CONFIG.APP_CODING, // 应用编码
  30. constantRoutes: constantRoutes,
  31. layout: Layout,
  32. keepAlive: true,
  33. srcPath: '@',
  34. viewRoot: "views",
  35. dynamicStatus: true,//设置为true 说明从接口获取数据
  36. PREFIX_URL: window._CONFIG.PREFIX_URL,
  37. env: window._CONFIG.VUE_APP_ENV,
  38. API_PREFIX: window._CONFIG.API_PREFIX,
  39. loginPath: window._CONFIG.loginPath,
  40. BASE_URLS: window._CONFIG.VUE_APP_BASE_URLS,
  41. resource: window._CONFIG.VUE_APP_RESOURCE,
  42. };
  43. const app = createApp(App);
  44. mgmt.mgmtInstall(app, router, mgmtComponentConfig, createApp)
  45. //element icon
  46. for (const [key, component] of Object.entries(ElementPlusIconsVue)) {
  47. app.component(key, component)
  48. }
  49. directive(app);
  50. // 三方组件
  51. import JsonViewer from "vue3-json-viewer";
  52. import "vue3-json-viewer/dist/index.css"; // 引入样式
  53. app.use(JsonViewer)
  54. // 引入组件
  55. import 'virtual:svg-icons-register'
  56. import SvgIcon from '/@/components/svgIcon/index.vue'
  57. import * as svg from '@element-plus/icons-vue';
  58. const icons = svg as any;
  59. for (const i in icons) {
  60. app.component(`ele-${icons[i].name}`, icons[i]);
  61. }
  62. app.component('SvgIcon', SvgIcon);
  63. // other.elSvg(app);
  64. app.use(pinia).use(router).use(ElementPlus, {i18n: i18n.global.t}).use(i18n).use(vue3PreviewImage).use(VueGridLayout).mount('#app');