main.js 3.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119
  1. /*
  2. * @Author: helin3
  3. * @Date: 2024-03-25 10:33:01
  4. * @LastEditors: kepler_zz 12382667+kepler-zz@user.noreply.gitee.com
  5. * @LastEditTime: 2026-02-02 17:55:51
  6. * @Description:
  7. */
  8. import Vue from 'vue';
  9. import ElementUI from 'element-ui';
  10. import YuwpUI from 'yuwp-ui';
  11. import 'element-ui/lib/theme-chalk/index.css';
  12. import 'yuwp-ui/lib/theme-default/index.css'; // global css
  13. import Icon from '@yufp/icon';
  14. import 'virtual:svg-icons-register';
  15. import 'regenerator-runtime/runtime';
  16. import SvgIcon from '@yufp/svgicon';
  17. import 'highlight.js/styles/atom-one-light.css';
  18. import hljs from 'highlight.js';
  19. import i18n from '@yufp/locale'; // Internationalization
  20. import Layout from '@yufp/layout';
  21. import scroll from 'vue-seamless-scroll';
  22. import { getLanguage } from '@yufp/layout-utils';
  23. import zhLocale from 'yuwp-ui/lib/locale/lang/zh-CN';
  24. import enLocale from 'yuwp-ui/lib/locale/lang/en';
  25. import vcolorpicker from 'vcolorpicker';
  26. import VueClipboard from 'vue-clipboard2';
  27. import VMdPreview from '@kangc/v-md-editor/lib/preview';
  28. import '@kangc/v-md-editor/lib/style/preview.css';
  29. import githubTheme from '@kangc/v-md-editor/lib/theme/github.js';
  30. import '@kangc/v-md-editor/lib/theme/style/github.css';
  31. // 集成oca
  32. // eslint-disable-next-line import/order
  33. import ocaWeb from '@xdjf/oca-web/config/main';
  34. // 集成保全
  35. // eslint-disable-next-line import/order
  36. import demoWeb from '@xdjf/demo-web/config/main';
  37. import cardWeb from '@xdjf/card/config/main';
  38. import '@/style/reset.scss'; // global scss
  39. import { ShuffleRuleSelect } from '@ggzj/shuffle-lite-web';
  40. import CustomSidebar from '@/components/SideBar/Sidebar.vue';
  41. import CustomLanguage from '@/components/Language/Language.vue';
  42. import { vueMixinButton } from '@/utils/mixin.js';
  43. import YuwpUIConfig from '@/config/components.js'; // 导入全局修改的组件参数
  44. import App from './App.vue';
  45. import store from '@/store/index.js';
  46. import router from '@/router/index.js';
  47. // 集成低码
  48. import YuxpRegister from '@/config/yuxp/register';
  49. import '@/config/index.js'; // 初始化xy-utils
  50. import '@/utils/yufp';
  51. import '@/config/other/components.js'; // 导入全局使用自定义组件
  52. import '@/style/yuwp-ui.scss'; // yuwp-ui样式
  53. import '@/style/yuxp-ui.scss'; // 低码样式
  54. import '@/style/common.css';
  55. import '@/style/common.scss';
  56. import '@/style/yufont/iconfont.css';
  57. import '@xdjf/oca-web/style/index.scss'; // oca公共样式
  58. // 导入自定义指令
  59. import directive from '@/utils/directive';
  60. import './views/shuffleLite/index';
  61. Vue.component('ShuffleRuleSelect', ShuffleRuleSelect);
  62. VMdPreview.use(githubTheme, {
  63. Hljs: hljs,
  64. });
  65. Vue.use(VueClipboard);
  66. Vue.use(vcolorpicker);
  67. // 注册自定义指令
  68. Vue.use(directive);
  69. // 根据当前语言设置 locale,通过 YuwpUI 配置来设置 Element UI 的 locale
  70. // 只支持简体中文和英文两种语言
  71. const currentLanguage = getLanguage();
  72. const elementLocale = currentLanguage === 'en' ? enLocale : zhLocale;
  73. // 通过 Vue.use 的第二个参数传入 locale 配置
  74. Vue.use(ElementUI, { locale: elementLocale });
  75. // 集成低码
  76. // Vue.directive('anchor', Anchor);
  77. // 通过 YuwpUI 配置来设置 Element UI 的 locale
  78. const YuwpUIConfigWithLocale = {
  79. ...YuwpUIConfig,
  80. locale: elementLocale, // YuwpUI 会通过此配置来设置 Element UI 的 locale
  81. };
  82. Vue.use(YuwpUI, YuwpUIConfigWithLocale);
  83. Vue.use(Icon);
  84. Vue.use(SvgIcon);
  85. Vue.use(Layout);
  86. // 覆盖 @yufp/layout 内置注册的 Sidebar
  87. Vue.component('Sidebar', CustomSidebar);
  88. // 覆盖 @yufp/layout 内置注册的 Language(工具栏语言切换)
  89. Vue.component('Language', CustomLanguage);
  90. Vue.use(scroll); // 走马灯效果
  91. Vue.mixin(vueMixinButton); // 混入公共方法
  92. // 集成oca
  93. Vue.use(ocaWeb);
  94. // 集成低码
  95. YuxpRegister(Vue, YuwpUI);
  96. // 集成业务模块
  97. Vue.use(demoWeb);
  98. // 集成卡片模块
  99. Vue.use(cardWeb);
  100. Vue.use(VMdPreview);
  101. new Vue({
  102. router,
  103. store,
  104. i18n,
  105. render: (h) => h(App),
  106. }).$mount('#app');