axios请求拦截器和相应拦截器

//请求拦截器
axios.interceptors.request.use( config => { Vue.$vux.loading.show({ text: '请求中' }) let Token = sessionStorage.getItem('token')==""? "":sessionStorage.getItem('token');//判断是否是登陆状态 if (Token){//如果登录了做超时判断,没登录不管 let time = parseInt(new Date().getTime())-parseInt(sessionStorage.getItem('time')) if(time>=1800000){//未操作时间》 30分钟,token清除 sessionStorage.setItem('token',"") Token = '' } if(!Token){ if(localStorage.getItem('userName') && localStorage.getItem('userPwd')){ router.replace({ path: '/registered/1' //去登陆 }) } } } config.headers['Authorization'] = Token return config },error => { if (error.response) { switch (error.response.status) { case 401: // 返回 401 清除token信息并跳转到登录页面 sessionStorage.setItem('token',"") router.replace({ path: '/registered/1' }) } } return Promise.reject(error.response.data) }) //相应拦截器 axios.interceptors.response.use( response => { //对响应数据做些事 if(response.status >=200){ Vue.$vux.loading.hide() } console.log("response") return response; },err => { //请求错误时做些事 return Promise.reject(err); });

  

posted @ 2017-09-08 17:40  阿狸很酷  阅读(1038)  评论(0编辑  收藏  举报