安装可以解析eleToken 的模块
yarn add jwt-decode -D
使用解析模块
import jwt_decode from 'jwt-decode'
const decoded = jwt_decode(eleToken)
//请求拦截
axios.interceptors.request.use(
config => {
if(localStorage.eleToken){ //如果我的eleToken存在
// 设置统一的请求header
config.headers.Authorization = localStorage.eleToken //授权
}
return config;
},
error => {
return Promise.reject(error);
}
);
//响应拦截
axios.interceptors.response.use(
response => {
return response;
},
error => {
// 判断返回状态是不是401,如果是401代表当前的eleToke以及失效,需要移除localStorage里面的eleToken
let {status} = error.response //获取错误状态码
if(status == 401){
message.error("当前登录(eleToken)已失效,请重新登录")
localStorage.removeItem("eleToken")//清除eleToken
this.router.push("/Login")//让用户从新回到登录页面
}
return Promise.resolve(error.response);
}
);