异常处理
在 src/utils/request.js 文件中对所有的 request请求进行拦截,
通过response 拦截器对接口返回的状态码进行分析与异常处理,代码如下
// response 拦截器service.interceptors.response.use(response => {const code = response.statusif (code < 200 || code > 300) {Notification.error({title: response.message})return Promise.reject('error')} else {return response.data}},error => {let code = 0try {code = error.response.data.status} catch (e) {if (error.toString().indexOf('Error: timeout') !== -1) {Notification.error({title: '网络请求超时',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.messageif (errorMsg !== undefined) {Notification.error({title: errorMsg,duration: 5000})}}} else {Notification.error({title: '接口请求失败',duration: 5000})}return Promise.reject(error)})
