| | |
| | | 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å®ä¾
|
| | |
| | | timeout: 10000
|
| | | })
|
| | | // requestæ¦æªå¨
|
| | | service.interceptors.request.use(
|
| | | config => {
|
| | | if (getToken()) {
|
| | | config.headers['Authorization'] = 'Bearer ' + getToken() // 让æ¯ä¸ªè¯·æ±æºå¸¦èªå®ä¹token è¯·æ ¹æ®å®é
æ
åµèªè¡ä¿®æ¹
|
| | | }
|
| | | return config
|
| | | },
|
| | | error => {
|
| | | 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
|
| | | // æªè®¾ç½®ç¶æç åé»è®¤æåç¶æ
|
| | | const code = res.data.code || 200;
|
| | | // è·åé误信æ¯
|
| | | const message = errorCode[code] || res.data.msg || errorCode['default']
|
| | | if (code === 401) {
|
| | | MessageBox.confirm(
|
| | | 'ç»å½ç¶æå·²è¿æï¼æ¨å¯ä»¥ç»§ç»çå¨è¯¥é¡µé¢ï¼æè
éæ°ç»å½',
|
| | |
| | | location.reload() // 为äºéæ°å®ä¾åvue-router对象 é¿å
bug
|
| | | })
|
| | | })
|
| | | } else if (code === 500) {
|
| | | Message({
|
| | | message: message,
|
| | | type: 'error'
|
| | | })
|
| | | return Promise.reject(new Error(message))
|
| | | } else if (code !== 200) {
|
| | | Notification.error({
|
| | | title: res.data.msg
|
| | | title: message
|
| | | })
|
| | | return Promise.reject('error')
|
| | | } else {
|