axios.defaults.baseURL = "http://127.0.0.1:8088";
//将 axios 挂载到 vue 全局对象中,使用 this 可以直接访问
//axios 请求拦截 每次向后端发送
axios.interceptors.request.use(config => {
//为请求头对象,添加 Token 验证的 token 字段
config.headers.adminToken = window.sessionStorage.getItem('adminToken');
config.headers.userToken = window.localStorage.getItem('userToken');
return config;
})
axios.interceptors.response.use((resp) => { //正常响应拦截
if (resp.data.code == 500) {
ElementUI.Message({
message: resp.data.message,
type: "error"
})
}
if (resp.data.code == 402) {
ElementUI.Message({
message: resp.data.message,
type: "error"
})
router.replace("/login");
}
if (resp.data.code == 403) {
ElementUI.Message({
message: resp.data.message,
type: "error"
})
router.replace("/userLogin");
}
return resp;
});
注:sessionStorage和localStorage的区别,localStorage可长期保存token,即使跳转新页面也依旧存在于浏览器