From 84d7b5e9b0a31c1e18dc52b3d69b1cadf96938e7 Mon Sep 17 00:00:00 2001
From: wwl <xchao828@163.com>
Date: 星期五, 06 十二月 2024 17:47:57 +0800
Subject: [PATCH] 报错提示

---
 src/utils/request.js |  141 +++++++++++++++++++++++-----------------------
 1 files changed, 70 insertions(+), 71 deletions(-)

diff --git a/src/utils/request.js b/src/utils/request.js
index 3bef1d2..c8dfa70 100644
--- a/src/utils/request.js
+++ b/src/utils/request.js
@@ -14,22 +14,17 @@
 axios.defaults.headers['Content-Type'] = 'application/json;charset=utf-8'
 // 鍒涘缓axios瀹炰緥
 const service = axios.create({
-  // axios涓姹傞厤缃湁baseURL閫夐」锛岃〃绀鸿姹俇RL鍏叡閮ㄥ垎
   baseURL: process.env.VUE_APP_BASE_API,
-  // 瓒呮椂
   // timeout: 20000
 })
 
 // request鎷︽埅鍣�
 service.interceptors.request.use(config => {
-  // 鏄惁闇�瑕佽缃� token
   const isToken = (config.headers || {}).isToken === false
-  // 鏄惁闇�瑕侀槻姝㈡暟鎹噸澶嶆彁浜�
   const isRepeatSubmit = (config.headers || {}).repeatSubmit === false
   if (getToken() && !isToken) {
-    config.headers['Authorization'] = 'Bearer ' + getToken() // 璁╂瘡涓姹傛惡甯﹁嚜瀹氫箟token 璇锋牴鎹疄闄呮儏鍐佃嚜琛屼慨鏀�
+    config.headers['Authorization'] = 'Bearer ' + getToken()
   }
-  // get璇锋眰鏄犲皠params鍙傛暟
   if (config.method === 'get' && config.params) {
     let url = config.url + '?' + tansParams(config.params);
     url = url.slice(0, -1);
@@ -43,18 +38,14 @@
       time: new Date().getTime()
     }
     const sessionObj = cache.session.getJSON('sessionObj')
-    if (sessionObj === undefined || sessionObj === null || sessionObj === '') {
+    if (!sessionObj || sessionObj === '') {
       cache.session.setJSON('sessionObj', requestObj)
     } else {
-      const s_url = sessionObj.url;                  // 璇锋眰鍦板潃
-      const s_data = sessionObj.data;                // 璇锋眰鏁版嵁
-      const s_time = sessionObj.time;                // 璇锋眰鏃堕棿
-      const interval = 1000;                         // 闂撮殧鏃堕棿(ms)锛屽皬浜庢鏃堕棿瑙嗕负閲嶅鎻愪氦
+      const s_url = sessionObj.url;
+      const s_data = sessionObj.data;
+      const s_time = sessionObj.time;
+      const interval = 1000;
       if (s_data === requestObj.data && requestObj.time - s_time < interval && s_url === requestObj.url) {
-        // const message = '鏁版嵁姝e湪澶勭悊锛岃鍕块噸澶嶆彁浜�';
-        // const message = '';
-        // console.warn(`[${s_url}]: ` + message)
-        // return Promise.reject(new Error(message))
         return Promise.reject()
       } else {
         cache.session.setJSON('sessionObj', requestObj)
@@ -63,29 +54,24 @@
   }
   return config
 }, error => {
-    // console.log(error)
-    Promise.reject(error)
+  Promise.reject(error)
 })
 
 // 鍝嶅簲鎷︽埅鍣�
 service.interceptors.response.use(res => {
-    // 鏈缃姸鎬佺爜鍒欓粯璁ゆ垚鍔熺姸鎬�
-    const code = res.data.code || 200;
-    // 鑾峰彇閿欒淇℃伅
-    const msg = errorCode[code] || res.data.msg || errorCode['default']
-    // 浜岃繘鍒舵暟鎹垯鐩存帴杩斿洖
-    if(res.request.responseType ===  'blob' || res.request.responseType ===  'arraybuffer'){
-      return res.data
-    }
-    if (code === 401) {
-      if (!isRelogin.show) {
-        isRelogin.show = true;
-        MessageBox.confirm('鐧诲綍鐘舵�佸凡杩囨湡锛屾偍鍙互缁х画鐣欏湪璇ラ〉闈紝鎴栬�呴噸鏂扮櫥褰�', '绯荤粺鎻愮ず', {
-          confirmButtonText: '閲嶆柊鐧诲綍',
-          cancelButtonText: '鍙栨秷',
-          type: 'warning'
-        }
-      ).then(() => {
+  const code = res.data.code || 200;
+  const msg = errorCode[code] || res.data.msg || errorCode['default']
+  if (res.request.responseType === 'blob' || res.request.responseType === 'arraybuffer') {
+    return res.data
+  }
+  if (code === 401) {
+    if (!isRelogin.show) {
+      isRelogin.show = true;
+      MessageBox.confirm('鐧诲綍鐘舵�佸凡杩囨湡锛屾偍鍙互缁х画鐣欏湪璇ラ〉闈紝鎴栬�呴噸鏂扮櫥褰�', '绯荤粺鎻愮ず', {
+        confirmButtonText: '閲嶆柊鐧诲綍',
+        cancelButtonText: '鍙栨秷',
+        type: 'warning'
+      }).then(() => {
         isRelogin.show = false;
         store.dispatch('LogOut').then(() => {
           location.href = '/index';
@@ -94,48 +80,61 @@
         isRelogin.show = false;
       });
     }
-      return Promise.reject('鏃犳晥鐨勪細璇濓紝鎴栬�呬細璇濆凡杩囨湡锛岃閲嶆柊鐧诲綍銆�')
-    } else if (code === 500) {
-      Message({
-        message: msg,
-        type: 'error'
-      })
-      return Promise.reject(new Error(msg))
-    } else if (code === 601) {
-      Message({
-        message: msg,
-        type: 'warning'
-      })
-      return Promise.reject('error')
-    } else if (code !== 200) {
-      Notification.error({
-        title: msg
-      })
-      return Promise.reject('error')
+    return Promise.reject('鏃犳晥鐨勪細璇濓紝鎴栬�呬細璇濆凡杩囨湡锛岃閲嶆柊鐧诲綍銆�')
+  } else if (code === 500) {
+    // 淇敼姝ら儴鍒嗭紝纭繚璁块棶姝g‘鐨刴sg瀛楁
+    if (res.data && res.data.msg) {
+      MessageBox.confirm(res.data.msg, '鎻愮ず', {
+        confirmButtonText: '纭畾',
+        cancelButtonText: '鍙栨秷',
+        type: 'warning',
+        center: true
+      }).then(() => {
+        // 鎵ц鎴愬姛鍚庣殑鎿嶄綔
+      }).catch(() => {
+        // 鎵ц鍙栨秷鍚庣殑鎿嶄綔
+      });
     } else {
-      return res.data
+      MessageBox.confirm('鎿嶄綔澶辫触锛岃閲嶈瘯', '鎻愮ず', {
+        confirmButtonText: '纭畾',
+        cancelButtonText: '鍙栨秷',
+        type: 'warning',
+        center: true
+      }).then(() => {
+        // 鎵ц鎴愬姛鍚庣殑鎿嶄綔
+      }).catch(() => {
+        // 鎵ц鍙栨秷鍚庣殑鎿嶄綔
+      });
     }
-  },
-  error => {
-    // console.log('err' + error)
-    let { message } = error;
-    if (message == "Network Error") {
-      message = "璇锋鏌ョ綉缁�!";
-    }
-    // else if (message.includes("timeout")) {
-    //   message = "鏁版嵁鍔犺浇澶辫触锛岃鍒锋柊椤甸潰";
-    // }
-    else if (message.includes("Request failed with status code")) {
-      message = "绯荤粺鎺ュ彛寮傚父, "+"璇锋鏌ョ綉缁�!";
-    }
+    return Promise.reject('鐗瑰畾鎺ュ彛鍙戠敓500閿欒');
+  } else if (code === 601) {
     Message({
-      message: message,
-      type: 'error',
-      duration: 5 * 1000
+      message: msg,
+      type: 'warning'
     })
-    return Promise.reject(error)
+    return Promise.reject('error')
+  } else if (code !== 200) {
+    Notification.error({
+      title: msg
+    })
+    return Promise.reject('error')
+  } else {
+    return res.data
   }
-)
+}, error => {
+  let { message } = error;
+  if (message == "Network Error") {
+    message = "璇锋鏌ョ綉缁�!";
+  } else if (message.includes("Request failed with status code")) {
+    message = "绯荤粺鎺ュ彛寮傚父, 璇锋鏌ョ綉缁�!";
+  }
+  Message({
+    message: message,
+    type: 'error',
+    duration: 5 * 1000
+  })
+  return Promise.reject(error)
+})
 
 // 閫氱敤涓嬭浇鏂规硶
 export function download(url, params, filename, config) {

--
Gitblit v1.8.0