From 387e8b0743240de72425e5b5c5709d629ace9aa4 Mon Sep 17 00:00:00 2001 From: “dzb” <2632970487@qq.com> Date: 星期二, 11 十月 2022 20:17:43 +0800 Subject: [PATCH] 新增消息界面、处理遗留问题 --- src/utils/request.js | 132 +++++++++++++++++++++++--------------------- 1 files changed, 69 insertions(+), 63 deletions(-) diff --git a/src/utils/request.js b/src/utils/request.js index e635d42..402a567 100644 --- a/src/utils/request.js +++ b/src/utils/request.js @@ -1,66 +1,72 @@ -import axios from 'axios' -import { Message, MessageBox } from 'element-ui' -import store from '../store' -import { getToken } from '@/utils/auth' - -// 鍒涘缓axios瀹炰緥 -const service = axios.create({ - baseURL: process.env.BASE_API, // api鐨刡ase_url - timeout: 15000 // 璇锋眰瓒呮椂鏃堕棿 +import axios from 'axios'; +import router from '@/router' +// 寮曞叆elementUI +import tip from 'element-ui'; +const api = axios.create({ + baseURL: 'http://42.193.1.25:8082/', // 璇锋眰鐨勫叕鍏卞湴鍧�閮ㄥ垎 + timeout: 15000 }) - -// request鎷︽埅鍣� -service.interceptors.request.use(config => { - if (store.getters.token) { - config.headers['Authorization'] = getToken() // 璁╂瘡涓姹傛惡甯﹁嚜瀹氫箟token 璇锋牴鎹疄闄呮儏鍐佃嚜琛屼慨鏀� +// 鎷︽埅鍣� +// 璇锋眰 +api.interceptors.request.use((config) => { + const token = sessionStorage.getItem('token'); + const tokenHead = sessionStorage.getItem('tokenHead'); + if (token && tokenHead) { + config.headers.Authorization = tokenHead + token; } - return config -}, error => { - // Do something with request error - console.log(error) // for debug - Promise.reject(error) -}) - -// respone鎷︽埅鍣� -service.interceptors.response.use( - response => { - /** - * code涓洪潪200鏄姏閿� 鍙粨鍚堣嚜宸变笟鍔¤繘琛屼慨鏀� - */ - const res = response.data - if (res.code !== 200) { - Message({ - message: res.message, - type: 'error', - duration: 3 * 1000 - }) - - // 401:鏈櫥褰�; - if (res.code === 401) { - MessageBox.confirm('浣犲凡琚櫥鍑猴紝鍙互鍙栨秷缁х画鐣欏湪璇ラ〉闈紝鎴栬�呴噸鏂扮櫥褰�', '纭畾鐧诲嚭', { - confirmButtonText: '閲嶆柊鐧诲綍', - cancelButtonText: '鍙栨秷', - type: 'warning' - }).then(() => { - store.dispatch('FedLogOut').then(() => { - location.reload()// 涓轰簡閲嶆柊瀹炰緥鍖杤ue-router瀵硅薄 閬垮厤bug - }) - }) - } - return Promise.reject('error') - } else { - return response.data - } - }, - error => { - console.log('err' + error)// for debug - Message({ - message: error.message, - type: 'error', - duration: 3 * 1000 - }) - return Promise.reject(error) - } + return config; +}, (err) => { + console.log(err); +} ) - -export default service +// 鍝嶅簲 +api.interceptors.response.use( + function (response) { + if (response.data.code === 401) { + tip.Message({ + type: 'warning', + message: '鐧诲綍韬唤宸茶繃鏈�', + }) + router.push('/login'); + } + return response.data; + }, + function (error) { + console.log(error); + if(error.code === "ECONNABORTED"){ + tip.Message({ + type:'error', + message:'缃戠粶璇锋眰瓒呭競', + duration: 3 * 1000, + }) + return; + } + const {code,status} = error.response.data; + if (error.code === 'ERR_NETWORK') { + console.log(1); + tip.Message({ + type: 'error', + message: '鏈嶅姟鍣ㄦ晠闅�' + }) + return; + } + if (code === 401) { + console.log(2); + tip.Message({ + type: 'warning', + message: '鐧诲綍韬唤宸茶繃鏈�', + }) + router.push('/login'); + return; + } + if (status === 500) { + console.log(3); + tip.Message({ + type: 'error', + message: '缃戠粶璇锋眰鍑洪敊' + }) + return; + } + } +); +export default api; \ No newline at end of file -- Gitblit v1.8.0