w-vue-middle
Version:
统一公共服务组件
312 lines (286 loc) • 7.32 kB
JavaScript
/*
* @Author: Jason Liu
* @Date: 2023-06-02 16:35:51
* @Desc:
*/
import Vue from 'vue';
//主架构导入
// import Antd from 'ant-design-vue';
// import 'ant-design-vue/dist/antd.css';
// import locale from 'ant-design-vue/es/date-picker/locale/zh_CN';
// Vue.prototype.locale = locale;
// Vue.use(Antd);
//导入指令
import './directive';
//表格架构导入
// import 'xe-utils';
// import VXETable from 'vxe-table';
// import 'vxe-table/lib/style.css';
// import { i18n } from 'w-vue-basis/interService';
// VXETable.VxeUI.setConfig({
// // 对组件内置的提示语进行国际化翻译
// i18n: (key, args) => i18n.t(key, args),
// });
// Vue.use(VXETable);
import moment from 'moment';
import 'moment/locale/zh-cn';
moment.locale('zh-cn');
window.moment = Vue.prototype.moment = moment;
import './utils'; //加载公共服务;
import './components/index';
import './themes/index.less';
// VXETable.interceptor.add('event.clearActived', (params, $event) => {
// // 比如点击了某个组件的弹出层面板之后,此时被激活单元格不应该被自动关闭,通过返回 false 可以阻止默认的行为。
// let classname = `${params.$event.srcElement.className}`;
// if (classname.indexOf('ant') > -1) {
// return false;
// } else {
// return true;
// }
// });
Vue.prototype.filterOption = (input, option) => {
if (option.componentOptions.children[0].text) {
return option.componentOptions.children[0].text.toLowerCase().indexOf(input.toLowerCase()) >= 0;
} else {
return false;
}
};
export function winMiddle(_Vue, option) {
this.$Vue = _Vue || Vue;
this._installed = false;
this.initApp(option);
}
/**
* @Author: Jason Liu
* @description: 服务参数配置
*/
const serviceParams = {
/**
* @Author: Jason Liu
* @description: 帮助中心服务地址
*/
helpcenter: '/helpcenter',
buttUser: {
u: 'admin',
p: 'Winning@007',
h: '01',
},
unifiedLogin: 'http://172.16.0.187:8889/home/login?auth=true',
//unifiedLogin: "http://localhost:8888/login?auth=true", //
// 通用上传 已上传图片服务地址
uploadService: 'http://172.16.0.187:8888',
/**
* @Author: Jason Liu
* @description: 统一门户服务
*/
portalService: '/portalService',
/**
* @Author: Jason Liu
* @description: 数据平台基础接口服务地址
*/
dataService: '/dataService',
/**
* @Author: Jason Liu
* @description: 数据安全
*/
securityService: '/securityService',
/**
* @Author: Jason Liu
* @description: 用户服务地址
*/
userService: '/userService',
/**
* @Author: Jason Liu
* @description: 调度中心接口
*/
dispatchCenterService: '/dispatchCenterService',
/**
* @Author: Jason Liu
* @description: 数据集成接口
*/
dataIntegration: '/dataIntegration',
/**
* @Author: y_zp
* @description: 运维监控
*/
operationmonitor: '/operationmonitor',
/**
* @Author: Jason Liu
* @description: 数据质量服务
*/
qualityService: '/qualityService',
/**
* @Author: gaodelong
* @description: 数据资产
*/
dataAssetsService: '/dataAssetsService',
/**
* @Author: Jason Liu
* @description: 数据开发接口服务
*/
dataDevelopmentService: '/dataDevelopmentService',
/**
* @Author: y_zp
* @description: BI对接
*/
BIService: '/BIService',
/**
* @Author: Jason Liu
* @description: BI设置页面
*/
biPage: 'http://172.16.9.97:9996',
/**
* @Author: Jason Liu
* @description: 任务调度页面
*/
schedulePage: 'http://172.16.9.97:8280',
/**
* @Author: y_zp
* @description: 数据质量
*/
dataQualityPage: 'http://172.17.0.184:8080',
/**
* @Author: Jason Liu
* @description: 主数据平台
* 联系人:徐龙
* http://172.17.1.205:8400/winningmdm/action/login/welcome
*/
mainDataPage: 'http://172.17.1.205:8400',
/**
* @Author: Jason Liu
* @description: 主数据平台登录参数
*/
mainDataSSOParam: {
usercode: 'admin',
password: '123456',
orgCode: '1.2.156.112604.1.7.2007',
},
/**
* @Author: y_zp
* @description: 数据质量-采集监控(浙江省中)
* 联系人:李保森
* http://172.17.1.133:11103/dat/ScheduleLog
*/
jobMonitorPage: 'http://172.17.1.134:12200',
/**
* @Author: y_zp
* @description: 数据质量-采集监控登录参数(浙江省中)
* 账号:sjzl
* 密码:zl@dmin
* 加密密码:iUt23s0bokNgz40VXCts/A==
*/
jobMonitorSSOParam: {
username: 'sjzl',
password: 'iUt23s0bokNgz40VXCts/A==',
},
jobMonitorSSO: '/jobMonitorSSO',
/**
* @Author: Jason Liu
* @description: 元数据管理地址
*/
metadataManagement:
'http://172.16.0.29:8083/edsm/v/login.html?des=TCvW28fWC0hlvGYD0RCwexkO3YLqicOyOdQCAfr0b8lAzLlnv1m8FisvapWjan1N&token=',
/**
* @Author: Xiao Xiao
* @description: 元数据相关接口代理
*/
metadataPage: '/metaData',
/**
* 全链路服务
*/
edsmService: '/edsm',
/**
* 科研资产 - 资产编目
*/
assetCatalogService: '/assetCatalogService',
/**
*百度翻译
*/
translateService: 'translateService',
colors: [
'#2D5AFA',
'#00AB44',
'#FF8C00',
'#0791EF',
'#005D97',
'#0043B2',
'#2DB7A0',
'#2996AA',
'#1F8970',
'#196C35',
'#F24F86',
'#722ED1',
'#8142B0',
'#7753BD',
'#422AA8',
'#B16C3D',
'#60493B',
'#7B4A36',
],
};
winMiddle.prototype.initApp = function (option) {
if (!this._installed) {
//TODO:用户鉴权
this._installed = true;
}
//更改系统配置参数
this.$Vue.prototype.$service = window.$service = {
uuid: 'dfcontrol',
//logo icon
logo: 'logo',
//平台名称
systemName: $t('公共组件平台'),
defaultPage: '/index',
version: undefined,
login: 'login',
loginConfig: {
//登录配置
showLogo: true, //是否显示logo
logoIcon: require('./static/images/WiNEX_DnA.png'), //标题图片
title: $t('欢迎登录统一组件平台'), //欢迎文案
desc: 'Welcome aboard', //欢迎文案
body: {
//系统背景
background: `url('${require('./static/images/bg_dna.jpg')}') no-repeat `,
backgroundSize: '100% 100%',
},
},
goLogin: () => {
this.$Vue.$router.push({
name: 'login',
});
},
...serviceParams,
...option,
};
if (!window.__POWERED_BY_QIANKUN__) {
document.title = $service.systemName;
}
};
/**
* @Author: Jason Liu
* @description: 主端注册服务
*/
export function appRegister(option = { el: '' }) {
this._option = option;
this.appInstance = undefined;
// window.__POWERED_BY_QIANKUN__可用于判断当前项目是否由qiankun驱动
if (!window.__POWERED_BY_QIANKUN__) {
this.init();
}
}
/**
* @Author: Jason Liu
* @description: 主端初始化
*/
appRegister.prototype.init = function () {
this.appInstance = new Vue({
...this._option,
el: container ? container.querySelector(this._option.el) : this._option.el,
});
window.parentRouter =
Vue.prototype.parentRouter =
this.appInstance.parentRouter =
this.appInstance.$router;
window.$router = this.appInstance.$router;
};