From a2441175073f8b09a7eff29effd7e3e617de2f7d Mon Sep 17 00:00:00 2001
From: lzhe <lzhe@example.com>
Date: 星期四, 06 六月 2024 18:23:01 +0800
Subject: [PATCH] Merge branch 'master' of http://www.beijingsoft.cn:9090/r/smart-web

---
 src/utils/request.js |   97 ++++++++++++++++++++++++++++++++----------------
 1 files changed, 64 insertions(+), 33 deletions(-)

diff --git a/src/utils/request.js b/src/utils/request.js
index 2af92ce..346ff97 100644
--- a/src/utils/request.js
+++ b/src/utils/request.js
@@ -1,5 +1,5 @@
 import axios from 'axios';
-import { ElNotification, ElMessageBox } from 'element-plus';
+import { ElNotification, ElMessageBox, ElMessage } from 'element-plus';
 import sysConfig from "@/config";
 import tool from '@/utils/tool';
 import router from '@/router';
@@ -13,10 +13,10 @@
 	(config) => {
 		let token = tool.cookie.get("TOKEN");
 		config.headers['Authorization'] = 'Basic c2FiZXI6c2FiZXJfc2VjcmV0'
-		if(token){
+		if (token) {
 			config.headers[sysConfig.TOKEN_NAME] = sysConfig.TOKEN_PREFIX + token
 		}
-		if(!sysConfig.REQUEST_CACHE && config.method == 'get'){
+		if (!sysConfig.REQUEST_CACHE && config.method == 'get') {
 			config.params = config.params || {};
 			// config.params['_'] = new Date().getTime();
 		}
@@ -34,6 +34,14 @@
 // HTTP response 鎷︽埅鍣�
 axios.interceptors.response.use(
 	(response) => {
+		if (response.data.code && response.data.code !== 200) {
+			// ElMessage({
+			// 	message: response.data.msg,
+			// 	type: 'warning',
+			// })
+			// return new Error()
+			// return new Error();
+		}
 		return response;
 	},
 	(error) => {
@@ -49,7 +57,7 @@
 					message: error.response.data.message || "Status:500锛屾湇鍔″櫒鍙戠敓閿欒锛�"
 				});
 			} else if (error.response.status == 401) {
-				if(!MessageBox_401_show){
+				if (!MessageBox_401_show) {
 					MessageBox_401_show = true
 					ElMessageBox.confirm('褰撳墠鐢ㄦ埛宸茶鐧诲嚭鎴栨棤鏉冮檺璁块棶褰撳墠璧勬簮锛岃灏濊瘯閲嶆柊鐧诲綍鍚庡啀鎿嶄綔銆�', '鏃犳潈闄愯闂�', {
 						type: 'error',
@@ -61,14 +69,14 @@
 							done()
 						}
 					}).then(() => {
-						router.replace({path: '/login'});
-					}).catch(() => {})
+						router.replace({ path: '/login' });
+					}).catch(() => { })
 				}
 			} else {
-				ElNotification.error({
-					title: '璇锋眰閿欒',
-					message: error.message || `Status:${error.response.status}锛屾湭鐭ラ敊璇紒`
-				});
+				// ElNotification.error({
+				// 	title: '璇锋眰閿欒',
+				// 	message: error.message || `Status:${error.response.status}锛屾湭鐭ラ敊璇紒`
+				// });
 			}
 		} else {
 			ElNotification.error({
@@ -81,16 +89,16 @@
 	}
 );
 function qsStringify(obj) {
-  return Object.keys(obj)
-    .map(key => {
-      if (Array.isArray(obj[key])) {
-        return obj[key]
-          .map(arrayValue => `${encodeURIComponent(key)}=${encodeURIComponent(arrayValue)}`)
-          .join('&');
-      }
-      return `${encodeURIComponent(key)}=${encodeURIComponent(obj[key])}`;
-    })
-    .join('&');
+	return Object.keys(obj)
+		.map(key => {
+			if (Array.isArray(obj[key])) {
+				return obj[key]
+					.map(arrayValue => `${encodeURIComponent(key)}=${encodeURIComponent(arrayValue)}`)
+					.join('&');
+			}
+			return `${encodeURIComponent(key)}=${encodeURIComponent(obj[key])}`;
+		})
+		.join('&');
 }
 
 var http = {
@@ -100,7 +108,7 @@
 	 * @param  {object} params 璇锋眰鍙傛暟
 	 * @param  {object} config 鍙傛暟
 	 */
-	get: function(url, params={}, config={}) {
+	get: function (url, params = {}, config = {}) {
 		return new Promise((resolve, reject) => {
 			axios({
 				method: 'get',
@@ -110,7 +118,14 @@
 			}).then((response) => {
 				resolve(response.data);
 			}).catch((error) => {
-				reject(error);
+				if (error?.status == 400) {
+					ElMessage({
+						message: error.data.msg,
+						type: 'warning',
+					})
+				} else {
+					reject(error);
+				}
 			})
 		})
 	},
@@ -120,7 +135,7 @@
 	 * @param  {object} data 璇锋眰鍙傛暟
 	 * @param  {object} config 鍙傛暟
 	 */
-	post: function(url, data={}, config={}) {
+	post: function (url, data = {}, config = {}) {
 		return new Promise((resolve, reject) => {
 			axios({
 				method: 'post',
@@ -130,7 +145,14 @@
 			}).then((response) => {
 				resolve(response.data);
 			}).catch((error) => {
-				reject(error);
+				if (error?.status == 400) {
+					ElMessage({
+						message: error.data.msg,
+						type: 'warning',
+					})
+				} else {
+					reject(error);
+				}
 			})
 		})
 	},
@@ -139,17 +161,18 @@
 	 * @param  {object} data 璇锋眰鍙傛暟
 	 * @param  {object} config 鍙傛暟
 	 */
-	 postJ: function(url, data={}, config={}) {
+	postJ: function (url, data = {}, config = {}) {
 		return new Promise((resolve, reject) => {
 			axios({
 				method: 'post',
 				url: url,
-				headers: { 'Content-Type': 'application/x-www-form-urlencoded;charset=UTF-8'},
+				headers: { 'Content-Type': 'application/x-www-form-urlencoded;charset=UTF-8' },
 				data: qsStringify(data),
 				...config
 			}).then((response) => {
 				resolve(response.data);
 			}).catch((error) => {
+				resolve(error.data);
 				reject(error);
 			})
 		})
@@ -159,7 +182,7 @@
 	 * @param  {object} data 璇锋眰鍙傛暟
 	 * @param  {object} config 鍙傛暟
 	 */
-	put: function(url, data={}, config={}) {
+	put: function (url, data = {}, config = {}) {
 		return new Promise((resolve, reject) => {
 			axios({
 				method: 'put',
@@ -169,6 +192,7 @@
 			}).then((response) => {
 				resolve(response.data);
 			}).catch((error) => {
+				resolve(error.data);
 				reject(error);
 			})
 		})
@@ -179,7 +203,7 @@
 	 * @param  {object} data 璇锋眰鍙傛暟
 	 * @param  {object} config 鍙傛暟
 	 */
-	patch: function(url, data={}, config={}) {
+	patch: function (url, data = {}, config = {}) {
 		return new Promise((resolve, reject) => {
 			axios({
 				method: 'patch',
@@ -199,7 +223,7 @@
 	 * @param  {object} data 璇锋眰鍙傛暟
 	 * @param  {object} config 鍙傛暟
 	 */
-	delete: function(url, data={}, config={}) {
+	delete: function (url, data = {}, config = {}) {
 		return new Promise((resolve, reject) => {
 			axios({
 				method: 'delete',
@@ -209,7 +233,14 @@
 			}).then((response) => {
 				resolve(response.data);
 			}).catch((error) => {
-				reject(error);
+				if (error.status == 400) {
+					ElMessage({
+						message: error.data.msg,
+						type: 'warning',
+					})
+				} else {
+					reject(error);
+				}
 			})
 		})
 	},
@@ -218,19 +249,19 @@
 	 * @param  {string} url 鎺ュ彛鍦板潃
 	 * @param  {string} name JSONP鍥炶皟鍑芥暟鍚嶇О
 	 */
-	jsonp: function(url, name='jsonp'){
+	jsonp: function (url, name = 'jsonp') {
 		return new Promise((resolve) => {
 			var script = document.createElement('script')
 			var _id = `jsonp${Math.ceil(Math.random() * 1000000)}`
 			script.id = _id
 			script.type = 'text/javascript'
 			script.src = url
-			window[name] =(response) => {
+			window[name] = (response) => {
 				resolve(response)
 				document.getElementsByTagName('head')[0].removeChild(script)
 				try {
 					delete window[name];
-				}catch(e){
+				} catch (e) {
 					window[name] = undefined;
 				}
 			}

--
Gitblit v1.9.3