permissions(路由全局守卫)
const whiteList = ['/login'];
if (getToken()) {
if (to.path == '/login') {
next();
} else {
// 读取用户信息,用户信息不存在,返回登录页面,存在next()
store.dispatch('GetInfo').then(res => {
if(res.code){
next('/login')
}else{
next();
}
})
}
} else {
// 没有token时,查看to.path是否在白名单里,是的话next(),不是的话跳转到登录页面
if(whiteList.includes(to.path)){
next();
}else{
next('/login');
}
}
})
请求拦截
service.interceptors.request.use(config => {
if (store.getters.token) {
config.headers['Authorization'] = getToken() // 让每个请求携带自定义t
}
return config
}, error => {
// Do something with request error
console.log(error) //
// for debug
Promise.reject(error)
})