소스 검색

bug fixed

zhuangyunsheng 1 개월 전
부모
커밋
31ad965c75
3개의 변경된 파일35개의 추가작업 그리고 32개의 파일을 삭제
  1. 1 3
      babel.config.js
  2. 2 2
      src/config/table.js
  3. 32 27
      src/utils/request.js

+ 1 - 3
babel.config.js

@@ -1,5 +1,3 @@
 module.exports = {
-    presets: [
-        '@vue/cli-plugin-babel/preset'
-    ]
+    presets: ["@vue/cli-plugin-babel/preset"]
 }

+ 2 - 2
src/config/table.js

@@ -14,7 +14,7 @@ export default {
             if (!valueIsNull(data, item.field || item.column)) XEUtils.set(query, item.column, XEUtils.get(data, item.field || item.column))
         })
 
-        return XEUtils.omit(query, val => XEUtils.isEmpty(val) && !XEUtils.isNumber(val) && !XEUtils.isBoolean(val))
+        return query
     },
     queryExport: function ({ formConfig: { data }, pagerConfig: { total } }, paramsColumns) {
         // 判断total
@@ -24,7 +24,7 @@ export default {
             else if (!valueIsNull(data, item.field || item.column)) XEUtils.set(query, item.column, XEUtils.get(data, item.field || item.column))
         })
     
-        return XEUtils.omit(query, val => XEUtils.isEmpty(val) && !XEUtils.isNumber(val) && !XEUtils.isBoolean(val))
+        return query
     },
     parseData: function (res) {
         return {

+ 32 - 27
src/utils/request.js

@@ -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