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