| | |
| | | }); |
| | | //http response 拦截 |
| | | axios.interceptors.response.use(res => { |
| | | // console.log(res,33) |
| | | //关闭 progress bar |
| | | NProgress.done(); |
| | | //获取状态码 |
| | | const status = res.data.code || res.status; |
| | | const statusWhiteList = website.statusWhiteList || []; |
| | | const message = res.data.msg || res.data.error_description || '未知错误'; |
| | | if(res.config.url=='/api/oauth/form' && res.status == 200){ |
| | | window.open(res.request.responseURL,'_self') |
| | | return |
| | | } |
| | | //如果在白名单里则自行catch逻辑处理 |
| | | if (statusWhiteList.includes(status)) return Promise.reject(res); |
| | | //如果是401则跳转到登录页面 |
| | | if (status === 401) store.dispatch('FedLogOut').then(() => router.push({path: '/login'})); |
| | | // 如果请求为非200否者默认统一处理 |
| | | if (status !== 200) { |
| | | // console.log(message,888) |
| | | Message({ |
| | | message: message, |
| | | type: 'error' |
| | | }); |
| | | return Promise.reject(new Error(message)) |
| | | // NProgress.done(); |
| | | if(res.config.url=='/api/oauth/token'){ |
| | | return Promise.reject(new Error(message)) |
| | | } |
| | | } |
| | | return res; |
| | | }, error => { |