GitBucket
4.6.0
Toggle navigation
Sign in
Files
Branches
1
Tags
Issues
Pull Requests
Labels
Milestones
Wiki
08335
/
hivui-platform-template
hivui平台项目模板
Browse code
@中文描述: 路径
@升级登记:1 @同步后端:0 @同步数据库:0 @同步配置:0 @向下兼容:1
master
1 parent
22ffae3
commit
97fab6526b7f54350e2bd022d6369f598a0cb1d3
hhb
authored
on 10 Jul 2023
Showing
2 changed files
project/hivuiBirt/funclib/AxiosUtil.js
project/hivuiBirt/index.js
Ignore Space
Show notes
View
project/hivuiBirt/funclib/AxiosUtil.js
/** * 请求工具类,临时方案,待完善 * @author cls * @date 2021-01-30 */ import { baseURL, projectName, requestUrl } from '@birt/config' import Message from '../components/vue-m-message/index.js' import axios from 'axios'; import { getToken } from '@birt/utils/auth' var pn = projectName || 'birt' //请求状态码属性 const STATUS_KEY = "status"; //请求成功状态码 const STATUS_SUCCESS = 200; //超时 const STATUS_TIMEOUT = 418; // 检测登录超时 function checkTimeout(res) { if (res[STATUS_KEY] == STATUS_TIMEOUT) { // to re-login MessageBox.confirm('You have been logged out, you can cancel to stay on this page, or log in again', 'Confirm logout', { confirmButtonText: 'Re-Login', cancelButtonText: 'Cancel', type: 'warning' }).then(() => { console.log("这里处理超时登录"); }) return true; } return false } debugger axios.baseURL = baseURL axios.interceptors.request.use( config => { // "3d3fe30c-3d99-41e8-9aea-addd8528aa07" // config.headers["Authorization"] = "bearer " + "b9e6a365-c551-4551-b258-c56e3acd0eed"; if (getToken()) { config.headers["Authorization"] = "bearer " + getToken(); } // else { // //没有token,跳转登录页 // if (window.HIVUI_SETTING.loginUrl) { // location = window.HIVUI_SETTING.loginUrl; // } else { // location = "/" + projectName + "/hivuiLogin/index.html#/"; // } // } if (!config.url.startsWith("/api") && config.url.indexOf(requestUrl) == -1) { config.url = requestUrl + config.url; } if (config.url.indexOf(pn) == -1) { if (config.url.indexOf('pn=birt') != -1) { var url = config.url.replace('birt', pn) console.log('url', url) config.url = url } else if (config.url.indexOf('pn=false') != -1) { var url = config.url.replace('false', pn) console.log('url', url) config.url = url } else { if (config.url.indexOf('?') == -1) { config.url += "?pn=" + pn; } else { config.url += "&?pn=" + pn } } } if(window.hivuiBirt && window.hivuiBirt.user && window.hivuiBirt.user.fbzid){ let fbzid = window.hivuiBirt.user.fbzid; config.url += "&fbzid=" + fbzid } // if(!config.url.startsWith(window.HIVUI_SETTING.serverUrl)){ // config.url = window.HIVUI_SETTING.serverUrl + config.url // } return config }, error => { console.log(error) return Promise.reject(error) } ) axios.interceptors.response.use(function (response) { // 因返回mock数据包格式不统一,做兼容处理,枚举接口未返回status:200 var res = (response[STATUS_KEY] && response.dataPack) ? response : response.data; res = (res || response.dataPack) || response; let status = res[STATUS_KEY]; // 流程特殊添加options,流程批处理返回 let flowData = response.config && response.config.data; if (flowData && (typeof flowData == "string" && flowData.indexOf("__isIntercept") != -1) && JSON.parse(flowData).__isIntercept === false) { try { res.options = JSON.parse(response.config.data) } catch (e) { } } if (status && status != STATUS_SUCCESS && status != 207) { if (!checkTimeout(res)) { let msgType = "error"; if (res == 700) { msgType = "info"; } Message({ message: res.msg || 'error', type: msgType, duration: 5 * 1000 }) } return Promise.reject(res.msg || 'error') } else if (res[STATUS_KEY] == 401) { // Message({ // message: 'token失效', // type: 'error', // duration: 5 * 1000 // }) MessageBox.alert('你已被登出,请重新登录', '登录超时', { confirmButtonText: '重新登录', type: 'warning' }).then(() => { let loginUrl = window.HIVUI_SETTING.loginUrl if (window.HIVUI_SETTING.isSingleLogin) { loginUrl = window.HIVUI_SETTING.singleLoginUrl; } if (loginUrl.endsWith("=")) { let params = window.location.search.slice(1, -1).split("&").filter(item => { if (item.indexOf("ticket") == -1) { return item } }); loginUrl = loginUrl + window.location.origin + window.location.pathname + (params.length > 0 ? '?' : '') + params.join("&"); } window.location.href = loginUrl }) } else { return res } }, function (error) { const res = error.response.data; if (res[STATUS_KEY] == 401) { if(top&&top.window.SysPage&&top.window.SysPage.openMiniLogin){//小窗口 top.window.SysPage.openMiniLogin(); }else{ Message({ message: 'token失效', type: 'error', duration: 5 * 1000 }) } } else { if (!checkTimeout(res)) { Message({ showClose: true, message: res.msg || '未知错误', type: 'error', duration: 5 * 1000 }) return Promise.reject(error) } } }); export default axios;
/** * 请求工具类,临时方案,待完善 * @author cls * @date 2021-01-30 */ import { baseURL, projectName, requestUrl } from '@birt/config' import Message from '../components/vue-m-message/index.js' import axios from 'axios'; import { getToken } from '@birt/utils/auth' var pn = projectName || 'birt' //请求状态码属性 const STATUS_KEY = "status"; //请求成功状态码 const STATUS_SUCCESS = 200; //超时 const STATUS_TIMEOUT = 418; // 检测登录超时 function checkTimeout(res) { if (res[STATUS_KEY] == STATUS_TIMEOUT) { // to re-login MessageBox.confirm('You have been logged out, you can cancel to stay on this page, or log in again', 'Confirm logout', { confirmButtonText: 'Re-Login', cancelButtonText: 'Cancel', type: 'warning' }).then(() => { console.log("这里处理超时登录"); }) return true; } return false } debugger axios.baseURL = baseURL axios.interceptors.request.use( config => { // "3d3fe30c-3d99-41e8-9aea-addd8528aa07" // config.headers["Authorization"] = "bearer " + "b9e6a365-c551-4551-b258-c56e3acd0eed"; if (getToken()) { config.headers["Authorization"] = "bearer " + getToken(); } // else { // //没有token,跳转登录页 // if (window.HIVUI_SETTING.loginUrl) { // location = window.HIVUI_SETTING.loginUrl; // } else { // location = "/" + projectName + "/hivuiLogin/index.html#/"; // } // } if (!config.url.startsWith("/api") && config.url.indexOf(requestUrl) == -1) { config.url = requestUrl + config.url; } if (config.url.indexOf(pn) == -1) { if (config.url.indexOf('pn=birt') != -1) { var url = config.url.replace('birt', pn) console.log('url', url) config.url = url } else if (config.url.indexOf('pn=false') != -1) { var url = config.url.replace('false', pn) console.log('url', url) config.url = url } else { if (config.url.indexOf('?') == -1) { config.url += "?pn=" + pn; } else { config.url += "&?pn=" + pn } } } if(window.hivuiBirt && window.hivuiBirt.user && window.hivuiBirt.user.fbzid){ let fbzid = window.hivuiBirt.user.fbzid; config.url += "&fbzid=" + fbzid } // if(!config.url.startsWith(window.HIVUI_SETTING.url)){ // config.url = window.HIVUI_SETTING.url + config.url // } return config }, error => { console.log(error) return Promise.reject(error) } ) axios.interceptors.response.use(function (response) { // 因返回mock数据包格式不统一,做兼容处理,枚举接口未返回status:200 var res = (response[STATUS_KEY] && response.dataPack) ? response : response.data; res = (res || response.dataPack) || response; let status = res[STATUS_KEY]; // 流程特殊添加options,流程批处理返回 let flowData = response.config && response.config.data; if (flowData && (typeof flowData == "string" && flowData.indexOf("__isIntercept") != -1) && JSON.parse(flowData).__isIntercept === false) { try { res.options = JSON.parse(response.config.data) } catch (e) { } } if (status && status != STATUS_SUCCESS && status != 207) { if (!checkTimeout(res)) { let msgType = "error"; if (res == 700) { msgType = "info"; } Message({ message: res.msg || 'error', type: msgType, duration: 5 * 1000 }) } return Promise.reject(res.msg || 'error') } else if (res[STATUS_KEY] == 401) { // Message({ // message: 'token失效', // type: 'error', // duration: 5 * 1000 // }) MessageBox.alert('你已被登出,请重新登录', '登录超时', { confirmButtonText: '重新登录', type: 'warning' }).then(() => { let loginUrl = window.HIVUI_SETTING.loginUrl if (window.HIVUI_SETTING.isSingleLogin) { loginUrl = window.HIVUI_SETTING.singleLoginUrl; } if (loginUrl.endsWith("=")) { let params = window.location.search.slice(1, -1).split("&").filter(item => { if (item.indexOf("ticket") == -1) { return item } }); loginUrl = loginUrl + window.location.origin + window.location.pathname + (params.length > 0 ? '?' : '') + params.join("&"); } window.location.href = loginUrl }) } else { return res } }, function (error) { const res = error.response.data; if (res[STATUS_KEY] == 401) { if(top&&top.window.SysPage&&top.window.SysPage.openMiniLogin){//小窗口 top.window.SysPage.openMiniLogin(); }else{ Message({ message: 'token失效', type: 'error', duration: 5 * 1000 }) } } else { if (!checkTimeout(res)) { Message({ showClose: true, message: res.msg || '未知错误', type: 'error', duration: 5 * 1000 }) return Promise.reject(error) } } }); export default axios;
Ignore Space
Show notes
View
project/hivuiBirt/index.js
import App from './App.vue' // import "hi-ui/lib/hi-ui.css"; //設置script引入全局的ELEMENT 配置 Vue.prototype.$ELEMENT = { size: 'mini', zIndex: 3000 }; import Message from './components/vue-m-message' Vue.use(Message) // will mount `Vue.prototype.$message` import './assets/icon/iconfont.css'; import './styles/index.css' import "hi-taskcenter/hi-taskcenter.css" import hitaskcenter from 'hi-taskcenter'; Vue.use(hitaskcenter); // import 'zhc-flowchart/lib/zhc-flowchart.css' // import zhcflowchart from "zhc-flowchart"; // Vue.use(zhcflowchart) import UmyUi from 'umy-ui' import 'umy-ui/lib/theme-chalk/index.css'; import ZhcBirtCmps from 'zhc-birt-cmps' Vue.use(ZhcBirtCmps) Vue.use(UmyUi) // import window.HIVUI_SETTING from './window.HIVUI_SETTING' // import { $HCBIRT } from "@birt/funclib/HCBIRT" import Cookies from 'js-cookie' import { setToken, } from "./utils/auth.js"; Vue.use(ELEMENT) console.log('token', Cookies.get('EAP-Token')) setToken(Cookies.get('EAP-Token') || '') import axios from "./funclib/AxiosUtil"; import pinyin from 'js-pinyin' Vue.prototype.Pinyin = pinyin import md5 from 'js-md5' Vue.prototype.Md5 = md5 // import { Loading } from 'element-ui'; // Vue.prototype.Loading = Loading import * as XLSX from 'xlsx' // import * as echarts from "echarts" Vue.prototype.XLSX = XLSX; // Vue.prototype.$echarts = echarts; // Vue.prototype.$HCBIRT = $HCBIRT; // import i18n from './lang' console.log( '%c zhc-birt-cmps %c v'.concat(ZhcBirtCmps.Package && ZhcBirtCmps.Package.version, ' '), 'padding: 2px 1px; border-radius: 3px 0 0 3px; color: #fff; background: #5584ff; font-weight: bold;', 'padding: 2px 1px; border-radius: 0 3px 3px 0; color: #fff; background: #42c02e; font-weight: bold;', ); function getFullUrl(url1, url2){ return url2 && url2.includes(url1) ? url2 : url1 + url2 } Vue.prototype.$HI = { projectName: window.HIVUI_SETTING.projectName, serverUrl: window.HIVUI_SETTING.serverUrl, serverName: window.HIVUI_SETTING.serverName, request: axios, queryOperate: 'like', pageSize: 20, saveUrl: getFullUrl(window.HIVUI_SETTING.serverUrl, window.HIVUI_SETTING.saveUrl), queryUrl: getFullUrl(window.HIVUI_SETTING.serverUrl, window.HIVUI_SETTING.queryUrl), querysUrl: window.HIVUI_SETTING.serverUrl + "/data/querys", policyUrl: window.HIVUI_SETTING.policyUrl, enumsUrl: window.HIVUI_SETTING.serverUrl + "/platf/xtgn/enums/fgroupid/", upload: getFullUrl(window.HIVUI_SETTING.serverUrl, window.HIVUI_SETTING.upload), download: getFullUrl(window.HIVUI_SETTING.serverUrl, window.HIVUI_SETTING.download), preview: getFullUrl(window.HIVUI_SETTING.serverUrl, window.HIVUI_SETTING.preview || window.HIVUI_SETTING.review), getFlowInfo: getFullUrl(window.HIVUI_SETTING.serverUrl, window.HIVUI_SETTING.getFlowInfo), getApprovalInfo: getFullUrl(window.HIVUI_SETTING.serverUrl, window.HIVUI_SETTING.getApprovalInfo), processFlow: getFullUrl(window.HIVUI_SETTING.serverUrl, window.HIVUI_SETTING.processFlow), queryTask: getFullUrl(window.HIVUI_SETTING.serverUrl, window.HIVUI_SETTING.queryTask), withdrawtask: getFullUrl(window.HIVUI_SETTING.serverUrl, window.HIVUI_SETTING.withdrawtask), taskDiagram: getFullUrl(window.HIVUI_SETTING.serverUrl, window.HIVUI_SETTING.taskDiagram), openOrdernumber: getFullUrl(window.HIVUI_SETTING.serverUrl, window.HIVUI_SETTING.openOrdernumber), birtModel: window.HIVUI_SETTING.serverUrl + "/birt/model1", getProcessInfo: window.HIVUI_SETTING.serverUrl + '/flow/getProcessInfo', exportUrl: window.HIVUI_SETTING.serverUrl + "/export/dataexcel", isLang: window.HIVUI_SETTING.isLang || false, }; new Vue({ // i18n, render: h => h(App), }).$mount('#app')
import App from './App.vue' // import "hi-ui/lib/hi-ui.css"; //設置script引入全局的ELEMENT 配置 Vue.prototype.$ELEMENT = { size: 'mini', zIndex: 3000 }; import Message from './components/vue-m-message' Vue.use(Message) // will mount `Vue.prototype.$message` import './assets/icon/iconfont.css'; import './styles/index.css' import "hi-taskcenter/hi-taskcenter.css" import hitaskcenter from 'hi-taskcenter'; Vue.use(hitaskcenter); // import 'zhc-flowchart/lib/zhc-flowchart.css' // import zhcflowchart from "zhc-flowchart"; // Vue.use(zhcflowchart) import UmyUi from 'umy-ui' import 'umy-ui/lib/theme-chalk/index.css'; import ZhcBirtCmps from 'zhc-birt-cmps' Vue.use(ZhcBirtCmps) Vue.use(UmyUi) // import window.HIVUI_SETTING from './window.HIVUI_SETTING' // import { $HCBIRT } from "@birt/funclib/HCBIRT" import Cookies from 'js-cookie' import { setToken, } from "./utils/auth.js"; Vue.use(ELEMENT) console.log('token', Cookies.get('EAP-Token')) setToken(Cookies.get('EAP-Token') || '') import axios from "./funclib/AxiosUtil"; import pinyin from 'js-pinyin' Vue.prototype.Pinyin = pinyin import md5 from 'js-md5' Vue.prototype.Md5 = md5 // import { Loading } from 'element-ui'; // Vue.prototype.Loading = Loading import * as XLSX from 'xlsx' // import * as echarts from "echarts" Vue.prototype.XLSX = XLSX; // Vue.prototype.$echarts = echarts; // Vue.prototype.$HCBIRT = $HCBIRT; // import i18n from './lang' console.log( '%c zhc-birt-cmps %c v'.concat(ZhcBirtCmps.Package && ZhcBirtCmps.Package.version, ' '), 'padding: 2px 1px; border-radius: 3px 0 0 3px; color: #fff; background: #5584ff; font-weight: bold;', 'padding: 2px 1px; border-radius: 0 3px 3px 0; color: #fff; background: #42c02e; font-weight: bold;', ); function getFullUrl(url1, url2){ return url2 && url2.includes(url1) ? url2 : url1 + url2 } Vue.prototype.$HI = { projectName: window.HIVUI_SETTING.projectName, serverUrl: window.HIVUI_SETTING.url, serverName: window.HIVUI_SETTING.serverName, request: axios, queryOperate: 'like', pageSize: 20, saveUrl: getFullUrl(window.HIVUI_SETTING.url, window.HIVUI_SETTING.saveUrl), queryUrl: getFullUrl(window.HIVUI_SETTING.url, window.HIVUI_SETTING.queryUrl), querysUrl: window.HIVUI_SETTING.url + "/data/querys", policyUrl: window.HIVUI_SETTING.policyUrl, enumsUrl: window.HIVUI_SETTING.url + "/platf/xtgn/enums/fgroupid/", upload: getFullUrl(window.HIVUI_SETTING.url, window.HIVUI_SETTING.upload), download: getFullUrl(window.HIVUI_SETTING.url, window.HIVUI_SETTING.download), preview: getFullUrl(window.HIVUI_SETTING.url, window.HIVUI_SETTING.preview || window.HIVUI_SETTING.review), getFlowInfo: getFullUrl(window.HIVUI_SETTING.url, window.HIVUI_SETTING.getFlowInfo), getApprovalInfo: getFullUrl(window.HIVUI_SETTING.url, window.HIVUI_SETTING.getApprovalInfo), processFlow: getFullUrl(window.HIVUI_SETTING.url, window.HIVUI_SETTING.processFlow), queryTask: getFullUrl(window.HIVUI_SETTING.url, window.HIVUI_SETTING.queryTask), withdrawtask: getFullUrl(window.HIVUI_SETTING.url, window.HIVUI_SETTING.withdrawtask), taskDiagram: getFullUrl(window.HIVUI_SETTING.url, window.HIVUI_SETTING.taskDiagram), openOrdernumber: getFullUrl(window.HIVUI_SETTING.url, window.HIVUI_SETTING.openOrdernumber), birtModel: window.HIVUI_SETTING.url + "/birt/model1", getProcessInfo: window.HIVUI_SETTING.url + '/flow/getProcessInfo', exportUrl: window.HIVUI_SETTING.url + "/export/dataexcel", isLang: window.HIVUI_SETTING.isLang || false, }; new Vue({ // i18n, render: h => h(App), }).$mount('#app')
Show line notes below