在路由配置文件中,给需要守卫的path后面加上meta
{path: '/home',component: home,meta:{requireAuth:true}}
在main.js里面加上
//路由守卫
router.beforeEach((to, from, next) => {
console.log(to,from,next);
if (to.meta.requireAuth) { // 判断该路由是否需要登录权限
if(localStorage.token){ //判断本地是否存在token
next();
}else {
next({
path:'/login'
})
}
}
else {
next();
}
//如果本地 存在 token 则 不允许直接跳转到 登录页面
if(to.fullPath == "/login"){
if(localStorage.token){
next({
path:from.fullPath
});
}else {
next();
}
}
});