Browse Source

全局异常状态汉化拦截处理

RuoYi 5 years ago
parent
commit
97ebab0c67
1 changed files with 18 additions and 5 deletions
  1. 18 5
      ruoyi-ui/src/utils/request.js

+ 18 - 5
ruoyi-ui/src/utils/request.js

@@ -16,6 +16,7 @@ const service = axios.create({
16
 
16
 
17
 // request拦截器
17
 // request拦截器
18
 service.interceptors.request.use(config => {
18
 service.interceptors.request.use(config => {
19
+  // 是否需要设置 token
19
   const isToken = (config.headers || {}).isToken === false
20
   const isToken = (config.headers || {}).isToken === false
20
   if (getToken() && !isToken) {
21
   if (getToken() && !isToken) {
21
     config.headers['Authorization'] = 'Bearer ' + getToken() // 让每个请求携带自定义token 请根据实际情况自行修改
22
     config.headers['Authorization'] = 'Bearer ' + getToken() // 让每个请求携带自定义token 请根据实际情况自行修改
@@ -28,8 +29,10 @@ service.interceptors.request.use(config => {
28
 
29
 
29
 // 响应拦截器
30
 // 响应拦截器
30
 service.interceptors.response.use(res => {
31
 service.interceptors.response.use(res => {
32
+    // 未设置状态码则默认成功状态
31
     const code = res.data.code || 200;
33
     const code = res.data.code || 200;
32
-    const message = errorCode[code] || res.data.msg || errorCode['default']
34
+    // 获取错误信息
35
+    const msg = errorCode[code] || res.data.msg || errorCode['default']
33
     if (code === 401) {
36
     if (code === 401) {
34
       MessageBox.confirm(
37
       MessageBox.confirm(
35
         '登录状态已过期,您可以继续留在该页面,或者重新登录',
38
         '登录状态已过期,您可以继续留在该页面,或者重新登录',
@@ -46,13 +49,13 @@ service.interceptors.response.use(res => {
46
       })
49
       })
47
     } else if (code === 500) {
50
     } else if (code === 500) {
48
       Message({
51
       Message({
49
-        message: message,
52
+        message: msg,
50
         type: 'error'
53
         type: 'error'
51
       })
54
       })
52
-      return Promise.reject(new Error(message))
55
+      return Promise.reject(new Error(msg))
53
     } else if (code !== 200) {
56
     } else if (code !== 200) {
54
       Notification.error({
57
       Notification.error({
55
-        title: message
58
+        title: msg
56
       })
59
       })
57
       return Promise.reject('error')
60
       return Promise.reject('error')
58
     } else {
61
     } else {
@@ -61,8 +64,18 @@ service.interceptors.response.use(res => {
61
   },
64
   },
62
   error => {
65
   error => {
63
     console.log('err' + error)
66
     console.log('err' + error)
67
+    let { message } = error;
68
+    if (message == "Network Error") {
69
+      message = "后端接口连接异常";
70
+    }
71
+    else if (message.includes("timeout")) {
72
+      message = "系统接口请求超时";
73
+    }
74
+    else if (message.includes("Request failed with status code")) {
75
+      message = "系统接口" + message.substr(message.length - 3) + "异常";
76
+    }
64
     Message({
77
     Message({
65
-      message: error.message,
78
+      message: message,
66
       type: 'error',
79
       type: 'error',
67
       duration: 5 * 1000
80
       duration: 5 * 1000
68
     })
81
     })