ui库合并版本完成

This commit is contained in:
aixianling
2022-12-01 09:13:53 +08:00
parent fe3e06e654
commit 02a4b50fc0
39 changed files with 47 additions and 5989 deletions

83
ui/lib/js/request.js Normal file
View File

@@ -0,0 +1,83 @@
/* eslint-disable */
import axios from 'axios'
import {Message} from "element-ui";
import {workflow} from "./modules";
const instance = axios.create({
baseURL: process.env.NODE_ENV === "production" ? "/" : "/lan",
timeout: 600000,
withCredentials: true,
})
const getStore = () => JSON.parse(localStorage.getItem("vuex") || null) || {}
const getToken = () => getStore().user?.token
/**
* 节流工具
*/
let throttleMap = {}
const source = axios.CancelToken.source();
instance.interceptors.request.use(config => {
if (config.throttle) {// 节流处理
let timer = throttleMap[config.url]
if (!!timer) {
config.cancelToken = source.token
source.cancel("节流控制,取消请求:" + config.url)
}
throttleMap[config.url] = setTimeout(() => {
throttleMap[config.url] = null
}, config.throttle)
}
if (!config.withoutToken && getToken()) {
config.headers["Authorization"] = getToken()
}
//BUG 9456 去除传参空格
if (config.params) {
Object.keys(config.params).map(e => {
if (typeof config.params[e] == "string") config.params[e] = config.params[e].trim()
})
}
config = workflow.processAdapter(config)
return config
}, err => {
console.error(err)
})
instance.interceptors.response.use(res => {
if (res && !!res.config.workflow) {
const {config: {workflow: app}, data: {data: bid}} = res
bid && workflow.startProcess({app, bid, flows: getStore().workflow})
}
if (res && res.data) {
if (!!res.data.code?.toString()) {
if (res.data.code == 0) {
return res.data
} else if (!!res.config.pureBack) {
return res.data
} else if (res.data.code == 401) {
console.error("安全令牌验证无法通过!")
return Promise.reject(res.data)
} else {
Message.error(res.data.msg || "请求失败!")
return !!res.config.returnError ? res.data : Promise.reject(res.data.msg)
}
} else return res.data
} else {
Message.error("服务器异常,请联系管理员!")
}
}, err => {
if (err) {
if (err.response) {
if (err.response.status == 401) {
console.error("安全令牌验证无法通过!")
} else {
console.error(err.response.statusText)
}
} else {
console.error(err)
}
} else {
console.error("通信异常,请联系管理员!")
}
})
export default instance