router/index.js
加meta
routes: [
{
path: '/login',
name: 'login',
component: login
},
{
path: '/list',
name: 'list',
component: list,
meta: {
title: 'list',
requireAuth: true, // 添加该字段,表示进入这个路由是需要登录的
},
},
{
path: '/',
name: 'index',
component: index,
meta: {
title: 'detail',
requireAuth: true, // 添加该字段,表示进入这个路由是需要登录的
},
},
]
main.js
先判断要不要登录验证,再判断session里有没有token,没有就去登录页。
// 路由守卫
router.beforeEach((to, from, next) => {
if (to.meta.requireAuth) { // 需要进行登录验证
// 判断session里是否有token
let token = sessionStorage.getItem("token")
if (token) { // 有token
next()
} else { // 没有token
next('/login')
}
} else { // 不需要进行登录验证
next()
}
})