在路由文件index.js中,将需要登录权限的路由设置meta属性
let router = new Router({
mode: 'history',
routes: [
{
path: '/parkPay-list',
component: ParkPayList,
meta: {
requireAuth: true // 添加该字段,表示进入这个路由是需要登录的
}
},
{
path: '/parkInfo-list',
component: ParkInfoList,
meta: {
requireAuth: true // 添加该字段,表示进入这个路由是需要登录的*
}
}
]
});
在index.js中直接写对路由的验证
router.beforeEach((to, from, next) => {
if (to.meta.requireAuth) { // 判断该路由是否需要登录权限
if (localStorage.TOKEN) { // 通过vuex state获取当前的token是否存在
next();
} else {
next({
path: '/login',
query: {
redirect: to.fullPath
} // 将跳转的路由path作为参数,登录成功后跳转到该路由
})
}
} else {
next();
}
});