|
|
@@ -1,8 +1,8 @@
|
|
|
-import axios from "axios";
|
|
|
-import XEUtils from "xe-utils";
|
|
|
-import sysConfig from "@/config";
|
|
|
-import tool from "@/utils/tool";
|
|
|
-import router from "@/router";
|
|
|
+import axios from "axios"
|
|
|
+import XEUtils from "xe-utils"
|
|
|
+import sysConfig from "@/config"
|
|
|
+import tool from "@/utils/tool"
|
|
|
+import router from "@/router"
|
|
|
|
|
|
axios.defaults.baseURL = ""
|
|
|
|
|
|
@@ -11,22 +11,22 @@ axios.defaults.timeout = sysConfig.TIMEOUT
|
|
|
// HTTP request 拦截器
|
|
|
axios.interceptors.request.use(
|
|
|
(config) => {
|
|
|
- let token = tool.cookie.get("MES_TOKEN");
|
|
|
+ let token = tool.cookie.get("MES_TOKEN")
|
|
|
|
|
|
if (token && XEUtils.startsWith(token, sysConfig.TOKEN_PREFIX)) {
|
|
|
config.headers[sysConfig.TOKEN_NAME] = token
|
|
|
}
|
|
|
if (!sysConfig.REQUEST_CACHE && config.method == "get") {
|
|
|
- config.params = config.params || {};
|
|
|
- config.params["_"] = new Date().getTime();
|
|
|
+ config.params = config.params || {}
|
|
|
+ config.params["_"] = new Date().getTime()
|
|
|
}
|
|
|
Object.assign(config.headers, sysConfig.HEADERS)
|
|
|
- return config;
|
|
|
+ return config
|
|
|
},
|
|
|
(error) => {
|
|
|
- return Promise.reject(error);
|
|
|
+ return Promise.reject(error)
|
|
|
}
|
|
|
-);
|
|
|
+)
|
|
|
|
|
|
//FIX 多个API同时401时疯狂弹窗BUG
|
|
|
let MessageBox_401_show = false
|
|
|
@@ -40,12 +40,12 @@ axios.interceptors.response.use(
|
|
|
ElNotification.error({
|
|
|
title: "请求错误",
|
|
|
message: "Status:404,正在请求不存在的服务器记录!"
|
|
|
- });
|
|
|
+ })
|
|
|
} else if (error.response.status == 500) {
|
|
|
ElNotification.error({
|
|
|
title: "请求错误",
|
|
|
message: error.response.data.message || "Status:500,服务器发生错误!"
|
|
|
- });
|
|
|
+ })
|
|
|
} else if (error.response.status == 401) {
|
|
|
if (!MessageBox_401_show) {
|
|
|
MessageBox_401_show = true
|
|
|
@@ -63,8 +63,8 @@ axios.interceptors.response.use(
|
|
|
done()
|
|
|
}
|
|
|
}).then(() => {
|
|
|
- tool.cookie.remove("MES_TOKEN");
|
|
|
- tool.data.remove("USER_INFO");
|
|
|
+ tool.cookie.remove("MES_TOKEN")
|
|
|
+ tool.data.remove("USER_INFO")
|
|
|
router.replace({ path: "/login" })
|
|
|
}).catch(() => {})
|
|
|
}
|
|
|
@@ -72,20 +72,20 @@ axios.interceptors.response.use(
|
|
|
ElNotification.error({
|
|
|
title: "请求错误",
|
|
|
message: error.response.data.message || `Status:${error.response.status},未知错误!`
|
|
|
- });
|
|
|
+ })
|
|
|
}
|
|
|
|
|
|
- return Promise.reject(error.response);
|
|
|
+ return Promise.reject(error.response)
|
|
|
} else {
|
|
|
ElNotification.error({
|
|
|
title: "请求错误",
|
|
|
message: "请求服务器无响应!"
|
|
|
- });
|
|
|
+ })
|
|
|
|
|
|
- return Promise.reject(error);
|
|
|
+ return Promise.reject(error)
|
|
|
}
|
|
|
}
|
|
|
-);
|
|
|
+)
|
|
|
|
|
|
var http = {
|
|
|
|
|
|
@@ -102,9 +102,9 @@ var http = {
|
|
|
params,
|
|
|
...config
|
|
|
}).then(response => {
|
|
|
- resolve(response.data);
|
|
|
+ resolve(response.data)
|
|
|
}).catch(error => {
|
|
|
- reject(error);
|
|
|
+ reject(error)
|
|
|
})
|
|
|
})
|
|
|
},
|
|
|
@@ -117,22 +117,27 @@ var http = {
|
|
|
*/
|
|
|
post: function (url, data = {}, config = {}, params = {}) {
|
|
|
return new Promise((resolve, reject) => {
|
|
|
- // 更新接口 置空
|
|
|
- url.endsWith("/update") && XEUtils.set(data, "emptyField", XEUtils.keys(XEUtils.pick(data, val => XEUtils.isEmpty(val) && !XEUtils.isNumber(val) && !XEUtils.isBoolean(val))))
|
|
|
+ let emptyField = []
|
|
|
+ if (!XEUtils.isFormData(data)) {
|
|
|
+ emptyField = XEUtils.keys(XEUtils.pick(data, val => XEUtils.isEmpty(val) && !XEUtils.isNumber(val) && !XEUtils.isBoolean(val)))
|
|
|
+
|
|
|
+ // 更新接口 置空
|
|
|
+ url.endsWith("/update") && XEUtils.set(data, "emptyField", emptyField)
|
|
|
+ }
|
|
|
|
|
|
axios({
|
|
|
url,
|
|
|
method: "post",
|
|
|
- data,
|
|
|
+ data: emptyField.length ? XEUtils.omit(data, emptyField) : data,
|
|
|
...config,
|
|
|
params
|
|
|
}).then(response => {
|
|
|
resolve(response.data)
|
|
|
}).catch(error => {
|
|
|
- reject(error);
|
|
|
+ reject(error)
|
|
|
})
|
|
|
})
|
|
|
}
|
|
|
}
|
|
|
|
|
|
-export default http;
|
|
|
+export default http
|