前置守卫-包含白名单
程序员文章站
2022-03-03 10:12:29
...
import router from '@/router'
import store from '@/store'
// 创建白名单
const widthList = ['/login', '/404']
// 创建前置守卫
router.beforeEach((to, from, next) => {
// 获取token
const token = store.state.user.token
// 如果有Token
if (token) {
// 如果去的是登录页
if (to.path === '/login') {
// 跳转首页
next('/')
} else {
// 否则放行
next()
}
// 没有Token
} else {
// 如果是白名单
if (widthList.includes(to.path)) {
// 放行
next()
} else {
// 否则回条登录页
next('/login')
}
}
})