后台在接口中添加token验证 前端需要后台返回的所有接口请求都带token,而且这个都会携带一个默认过期时间,如果遇到token过期,就会返回一个错误提示码
如下对token指令进行判断 如果状态码 == 77777 就弹框 “令牌过期” 并直接跳转到登录页
if(res.code == 77777){
this.$message({
message: res.msg,
type: 'warning'
});
this.$router.push('/login')
}
然后我们查看sessionStorge 回查看到我们之前存储到本地的 token
之后我们在全局给请求头添加token
import axios from 'axios'
axios.interceptors.request.use(function (config) {
config.headers = {
'X-Requested-With': 'XMLHttpRequest',
'Content-Type': 'application/json'
};
//注意使用token的时候需要引入cookie方法或者用本地localStorage等方法,推荐js-cookie
const token = JSON.parse(window.sessionStorage.getItem('token')); //这里取token之前,你肯定需要先拿到token,存一下
if (token) {
// config.params = {'token':token} //如果要求携带在参数中
config.headers.Authorization = token; //如果要求携带在请求头中
}
// 在发送请求之前做些什么
return config;
}, function (error) {
// 对请求错误做些什么
return Promise.reject(error);
});
// 添加响应拦截器
axios.interceptors.response.use(function (response) {
// 对响应数据做点什么
return response.data;
}, function (error) {
// 对响应错误做点什么
return Promise.reject(error);
});
export default axios;
这样每个接口返回给后台的请求都携带token