From c7785d1dbcc6a3e19e9a138134442fbc7038cbdf Mon Sep 17 00:00:00 2001 From: 疯狂的狮子li <15040126243@163.com> Date: 星期三, 05 八月 2020 09:42:03 +0800 Subject: [PATCH] Merge branch 'master' of https://gitee.com/y_project/RuoYi-Vue --- ruoyi-ui/src/utils/request.js | 158 ++++++++++++++++++++++++++++------------------------ 1 files changed, 84 insertions(+), 74 deletions(-) diff --git a/ruoyi-ui/src/utils/request.js b/ruoyi-ui/src/utils/request.js index cac52c3..f62368e 100644 --- a/ruoyi-ui/src/utils/request.js +++ b/ruoyi-ui/src/utils/request.js @@ -1,74 +1,84 @@ -import axios from 'axios' -import { Notification, MessageBox, Message } from 'element-ui' -import store from '@/store' -import { getToken } from '@/utils/auth' -import errorCode from '@/utils/errorCode' - -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: 10000 -}) -// request鎷︽埅鍣� -service.interceptors.request.use(config => { - // 鏄惁闇�瑕佽缃� token - const isToken = (config.headers || {}).isToken === false - if (getToken() && !isToken) { - config.headers['Authorization'] = 'Bearer ' + getToken() // 璁╂瘡涓姹傛惡甯﹁嚜瀹氫箟token 璇锋牴鎹疄闄呮儏鍐佃嚜琛屼慨鏀� - } - return config -}, error => { - console.log(error) - Promise.reject(error) -}) - -// 鍝嶅簲鎷︽埅鍣� -service.interceptors.response.use(res => { - // 鏈缃姸鎬佺爜鍒欓粯璁ゆ垚鍔熺姸鎬� - const code = res.data.code || 200; - // 鑾峰彇閿欒淇℃伅 - const message = errorCode[code] || res.data.msg || errorCode['default'] - if (code === 401) { - MessageBox.confirm( - '鐧诲綍鐘舵�佸凡杩囨湡锛屾偍鍙互缁х画鐣欏湪璇ラ〉闈紝鎴栬�呴噸鏂扮櫥褰�', - '绯荤粺鎻愮ず', - { - confirmButtonText: '閲嶆柊鐧诲綍', - cancelButtonText: '鍙栨秷', - type: 'warning' - } - ).then(() => { - store.dispatch('LogOut').then(() => { - location.reload() // 涓轰簡閲嶆柊瀹炰緥鍖杤ue-router瀵硅薄 閬垮厤bug - }) - }) - } else if (code === 500) { - Message({ - message: message, - type: 'error' - }) - return Promise.reject(new Error(message)) - } else if (code !== 200) { - Notification.error({ - title: message - }) - return Promise.reject('error') - } else { - return res.data - } - }, - error => { - console.log('err' + error) - Message({ - message: error.message, - type: 'error', - duration: 5 * 1000 - }) - return Promise.reject(error) - } -) - -export default service +import axios from 'axios' +import { Notification, MessageBox, Message } from 'element-ui' +import store from '@/store' +import { getToken } from '@/utils/auth' +import errorCode from '@/utils/errorCode' + +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: 10000 +}) +// request鎷︽埅鍣� +service.interceptors.request.use(config => { + // 鏄惁闇�瑕佽缃� token + const isToken = (config.headers || {}).isToken === false + if (getToken() && !isToken) { + config.headers['Authorization'] = 'Bearer ' + getToken() // 璁╂瘡涓姹傛惡甯﹁嚜瀹氫箟token 璇锋牴鎹疄闄呮儏鍐佃嚜琛屼慨鏀� + } + return config +}, error => { + console.log(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 (code === 401) { + MessageBox.confirm( + '鐧诲綍鐘舵�佸凡杩囨湡锛屾偍鍙互缁х画鐣欏湪璇ラ〉闈紝鎴栬�呴噸鏂扮櫥褰�', + '绯荤粺鎻愮ず', + { + confirmButtonText: '閲嶆柊鐧诲綍', + cancelButtonText: '鍙栨秷', + type: 'warning' + } + ).then(() => { + store.dispatch('LogOut').then(() => { + location.reload() // 涓轰簡閲嶆柊瀹炰緥鍖杤ue-router瀵硅薄 閬垮厤bug + }) + }) + } else if (code === 500) { + Message({ + message: msg, + type: 'error' + }) + return Promise.reject(new Error(msg)) + } else if (code !== 200) { + Notification.error({ + title: msg + }) + return Promise.reject('error') + } else { + return res.data + } + }, + 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 = "绯荤粺鎺ュ彛" + message.substr(message.length - 3) + "寮傚父"; + } + Message({ + message: message, + type: 'error', + duration: 5 * 1000 + }) + return Promise.reject(error) + } +) + +export default service -- Gitblit v1.9.3