 |
|
23
ceet Nov 13, 2019
// 页面权限 router.beforeEach((to, from, next) => { if(to.matched.some(item => item.meta.requiresAuth)) { // 当 token 存在证已经登录,设置登录后的请求头,否则进入登录页面 if(sessionStorage.token) { axios.defaults.headers['Authorization'] = 'bearer ' + sessionStorage.token; next(); } else { next({ path: '/Login' }); } } else { if(to.path == '/Register' || to.path == '/FindPwd' || to.path == '/Login') { axios.defaults.headers['Authorization'] = ''; } next(); } // 响应拦截(配置请求回来的信息) axios.interceptors.response.use(function(response) { // 处理响应数据 // 判断如果请求返回 1004 3301 4004 5501 状态码,即登录超时,清除 token 并跳回登录页 if(response.data.code == '1004' || response.data.code == '3301' || response.data.code == '5501') { vant.Notify({ message: response.data.msg, duration: 1000, background: '#1989fa' }); sessionStorage.clear(); next({ path: '/Login' }); } return response; }, function(error) { // 处理响应失败 setTimeout(() => { if(error.response.status == '404') { vant.Notify({ message: '404 请求接口地址错误', duration: 1000, background: '#1989fa' }); } else if(error.response.status == '405') { vant.Notify({ message: '405 请求类型错误', duration: 1000, background: '#1989fa' }); } else if(error.response.status == '500') { vant.Notify({ message: error.response.data.msg, duration: 1000, background: 'rgb(255, 68, 68)' }); } else if(error.response.status == '504') { vant.Notify({ message: '504 网关错误', duration: 1000, background: 'rgb(255, 68, 68)' }); } else { vant.Notify({ message: error.response.status + ' 其他错误:' + error.response.data.msg, duration: 1000, background: 'rgb(255, 68, 68)' }); } }, 1000); return Promise.reject(error); }); });
|