/* * @Author: helin3 * @Date: 2024-03-25 10:33:01 * @LastEditors: kepler_zz 12382667+kepler-zz@user.noreply.gitee.com * @LastEditTime: 2026-02-02 17:55:51 * @Description: */ import Vue from 'vue'; import ElementUI from 'element-ui'; import YuwpUI from 'yuwp-ui'; import 'element-ui/lib/theme-chalk/index.css'; import 'yuwp-ui/lib/theme-default/index.css'; // global css import Icon from '@yufp/icon'; import 'virtual:svg-icons-register'; import 'regenerator-runtime/runtime'; import SvgIcon from '@yufp/svgicon'; import 'highlight.js/styles/atom-one-light.css'; import hljs from 'highlight.js'; import i18n from '@yufp/locale'; // Internationalization import Layout from '@yufp/layout'; import scroll from 'vue-seamless-scroll'; import { getLanguage } from '@yufp/layout-utils'; import zhLocale from 'yuwp-ui/lib/locale/lang/zh-CN'; import enLocale from 'yuwp-ui/lib/locale/lang/en'; import vcolorpicker from 'vcolorpicker'; import VueClipboard from 'vue-clipboard2'; import VMdPreview from '@kangc/v-md-editor/lib/preview'; import '@kangc/v-md-editor/lib/style/preview.css'; import githubTheme from '@kangc/v-md-editor/lib/theme/github.js'; import '@kangc/v-md-editor/lib/theme/style/github.css'; // 集成oca // eslint-disable-next-line import/order import ocaWeb from '@xdjf/oca-web/config/main'; // 集成保全 // eslint-disable-next-line import/order import demoWeb from '@xdjf/demo-web/config/main'; import cardWeb from '@xdjf/card/config/main'; import '@/style/reset.scss'; // global scss import { ShuffleRuleSelect } from '@ggzj/shuffle-lite-web'; import CustomSidebar from '@/components/SideBar/Sidebar.vue'; import CustomLanguage from '@/components/Language/Language.vue'; import { vueMixinButton } from '@/utils/mixin.js'; import YuwpUIConfig from '@/config/components.js'; // 导入全局修改的组件参数 import App from './App.vue'; import store from '@/store/index.js'; import router from '@/router/index.js'; // 集成低码 import YuxpRegister from '@/config/yuxp/register'; import '@/config/index.js'; // 初始化xy-utils import '@/utils/yufp'; import '@/config/other/components.js'; // 导入全局使用自定义组件 import '@/style/yuwp-ui.scss'; // yuwp-ui样式 import '@/style/yuxp-ui.scss'; // 低码样式 import '@/style/common.css'; import '@/style/common.scss'; import '@/style/yufont/iconfont.css'; import '@xdjf/oca-web/style/index.scss'; // oca公共样式 // 导入自定义指令 import directive from '@/utils/directive'; import './views/shuffleLite/index'; Vue.component('ShuffleRuleSelect', ShuffleRuleSelect); VMdPreview.use(githubTheme, { Hljs: hljs, }); Vue.use(VueClipboard); Vue.use(vcolorpicker); // 注册自定义指令 Vue.use(directive); // 根据当前语言设置 locale,通过 YuwpUI 配置来设置 Element UI 的 locale // 只支持简体中文和英文两种语言 const currentLanguage = getLanguage(); const elementLocale = currentLanguage === 'en' ? enLocale : zhLocale; // 通过 Vue.use 的第二个参数传入 locale 配置 Vue.use(ElementUI, { locale: elementLocale }); // 集成低码 // Vue.directive('anchor', Anchor); // 通过 YuwpUI 配置来设置 Element UI 的 locale const YuwpUIConfigWithLocale = { ...YuwpUIConfig, locale: elementLocale, // YuwpUI 会通过此配置来设置 Element UI 的 locale }; Vue.use(YuwpUI, YuwpUIConfigWithLocale); Vue.use(Icon); Vue.use(SvgIcon); Vue.use(Layout); // 覆盖 @yufp/layout 内置注册的 Sidebar Vue.component('Sidebar', CustomSidebar); // 覆盖 @yufp/layout 内置注册的 Language(工具栏语言切换) Vue.component('Language', CustomLanguage); Vue.use(scroll); // 走马灯效果 Vue.mixin(vueMixinButton); // 混入公共方法 // 集成oca Vue.use(ocaWeb); // 集成低码 YuxpRegister(Vue, YuwpUI); // 集成业务模块 Vue.use(demoWeb); // 集成卡片模块 Vue.use(cardWeb); Vue.use(VMdPreview); new Vue({ router, store, i18n, render: (h) => h(App), }).$mount('#app');