diff --git a/src/utils/request.js b/src/utils/request.js index 9cf0155..ce7fd1b 100644 --- a/src/utils/request.js +++ b/src/utils/request.js @@ -22,8 +22,6 @@ service.interceptors.request.use( return config }, error => { - // Do something with request error - console.log(error) // for debug Promise.reject(error) } ) @@ -31,52 +29,58 @@ service.interceptors.request.use( // response 拦截器 service.interceptors.response.use( response => { - const code = response.status - if (code < 200 || code > 300) { - Notification.error({ - title: response.message - }) - return Promise.reject('error') - } else { - return response.data - } + return response.data }, error => { - let code = 0 - try { - code = error.response.data.status - } catch (e) { - if (error.toString().indexOf('Error: timeout') !== -1) { + // 兼容blob下载出错json提示 + if (error.response.data instanceof Blob && error.response.data.type.toLowerCase().indexOf('json') !== -1) { + const reader = new FileReader() + reader.readAsText(error.response.data, 'utf-8') + reader.onload = function(e) { + const errorMsg = JSON.parse(reader.result).message Notification.error({ - title: '网络请求超时', + title: errorMsg, duration: 5000 }) - return Promise.reject(error) - } - } - if (code) { - if (code === 401) { - store.dispatch('LogOut').then(() => { - // 用户登录界面提示 - Cookies.set('point', 401) - location.reload() - }) - } else if (code === 403) { - router.push({ path: '/401' }) - } else { - const errorMsg = error.response.data.message - if (errorMsg !== undefined) { - Notification.error({ - title: errorMsg, - duration: 5000 - }) - } } } else { - Notification.error({ - title: '接口请求失败', - duration: 5000 - }) + let code = 0 + try { + code = error.response.data.status + } catch (e) { + if (error.toString().indexOf('Error: timeout') !== -1) { + Notification.error({ + title: '网络请求超时', + duration: 5000 + }) + return Promise.reject(error) + } + } + console.log(code) + if (code) { + if (code === 401) { + store.dispatch('LogOut').then(() => { + // 用户登录界面提示 + Cookies.set('point', 401) + location.reload() + }) + } else if (code === 403) { + router.push({ path: '/401' }) + } else { + const errorMsg = error.response.data.message + if (errorMsg !== undefined) { + Notification.error({ + title: errorMsg, + duration: 5000 + }) + } + } + } else { + Notification.error({ + title: '接口请求失败', + duration: 5000 + }) + } } return Promise.reject(error) }