import axios from 'axios'
import store from "./store";
import router from "./router";
//在请求或响应被 then 或 catch 处理前拦截它们。
//http token 拦截
//直接暴露的是一个方法,所以到main.js引入直接调用即可
export default function setAxios () {
// 添加请求拦截器
axios.interceptors.request.use(
config =>{
if(store.state.token){
config.headers.token = store.state.token
}
return config
}
)
// 添加响应拦截器
axios.interceptors.response.use(
response =>{
if(response.status === 200){
const data = response.data
//如果登录过期/清空vuex的token和localstorage的token
if(data.xx === -1){
store.commit('setToken','')
localStorage.removeItem('token')
//跳转到login页面
router.replace({path:'/login'})
}
return data
}
return response
}
)
}
vue 学习笔记--请求拦截
猜你喜欢
转载自blog.csdn.net/qq_42220283/article/details/104087729
今日推荐
周排行