to:将要访问的页面路径
from:从哪个页面路径跳转而来的
next:放行函数
next()直接放行,next(./XXX)表示强制跳转
通过地址和当前用户是否拥有token来判断是否放行
获取token方法:
window.sessionStorage.getItem('token')
实现:
router.beforeEach((to, from, next) => {
// to 将要访问的路径
// from 代表从哪个路径跳转而来
// next 是一个函数,表示放行
// next() 放行 next('/login') 强制跳转
if (to.path === '/login') return next()
// 获取token
const tokenStr = window.sessionStorage.getItem('token')
if (!tokenStr) return next('/login')
next()
})