¶Ô±ÈÐÂÎļþ |
| | |
| | | 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é项ï¼è¡¨ç¤ºè¯·æ±URLå
Œ
±é¨å |
| | | 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.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 |