From 4e56f30381f2775aa62f3cfbe16e5064ab0c0726 Mon Sep 17 00:00:00 2001
From: 疯狂的狮子li <15040126243@163.com>
Date: 星期三, 09 十二月 2020 16:49:24 +0800
Subject: [PATCH] 修改 生成器controller模板缺导包 与 index页面兼容性 Merge pull request !2 from dragonwzj/master
---
ruoyi-ui/src/utils/request.js | 168 ++++++++++++++++++++++++++++++++++---------------------
1 files changed, 103 insertions(+), 65 deletions(-)
diff --git a/ruoyi-ui/src/utils/request.js b/ruoyi-ui/src/utils/request.js
index fd6e5f0..e7e6519 100644
--- a/ruoyi-ui/src/utils/request.js
+++ b/ruoyi-ui/src/utils/request.js
@@ -1,65 +1,103 @@
-import axios from 'axios'
-import { Notification, MessageBox } from 'element-ui'
-import store from '@/store'
-import { getToken } from '@/utils/auth'
-
-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 => {
- if (getToken()) {
- 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
- if (code === 401) {
- MessageBox.confirm(
- '鐧诲綍鐘舵�佸凡杩囨湡锛屾偍鍙互缁х画鐣欏湪璇ラ〉闈紝鎴栬�呴噸鏂扮櫥褰�',
- '绯荤粺鎻愮ず',
- {
- confirmButtonText: '閲嶆柊鐧诲綍',
- cancelButtonText: '鍙栨秷',
- type: 'warning'
- }
- ).then(() => {
- store.dispatch('LogOut').then(() => {
- location.reload() // 涓轰簡閲嶆柊瀹炰緥鍖杤ue-router瀵硅薄 閬垮厤bug
- })
- })
- } else if (code !== 200) {
- Notification.error({
- title: res.data.msg
- })
- 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 璇锋牴鎹疄闄呮儏鍐佃嚜琛屼慨鏀�
+ }
+ // get璇锋眰鏄犲皠params鍙傛暟
+ if (config.method === 'get' && config.params) {
+ let url = config.url + '?';
+ for (const propName of Object.keys(config.params)) {
+ const value = config.params[propName];
+ var part = encodeURIComponent(propName) + "=";
+ if (value && typeof(value) !== "undefined") {
+ if (typeof value === 'object') {
+ for (const key of Object.keys(value)) {
+ let params = propName + '[' + key + ']';
+ var subPart = encodeURIComponent(params) + "=";
+ url += subPart + encodeURIComponent(value[key]) + "&";
+ }
+ } else {
+ url += part + encodeURIComponent(value) + "&";
+ }
+ }
+ }
+ url = url.slice(0, -1);
+ config.params = {};
+ config.url = url;
+ }
+ 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.href = '/index';
+ })
+ })
+ } 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