1.src --> permission.js
import router from "@/router"
/**
* 创建全局前置导航守卫beforeEach
* to: 即将要进入的目标
* from: 当前导航正要离开的路由
* next: 函数 next()
* 是否继续向下执行
*
* 登录身份认证
* 登录成功之后才能访问主界面或其它需要身份认证的页面资源
*
* 1. 在全局前置导航守卫beforeEach 处理登录身份认证
* 2. 判断是否登录,如果登录放行next()到跳转到路由页面
* 2.1 如何判断是否登录成功, 通过Token判断
* 3. 处理不需要登录身份认证的路由
* 3.1拿到当前路由信息/login, /
* 3.2 白名单 []
*/
router.beforeEach((to, from, next) => {
// 白名单, 不需要登录认证的路由
let whiteArry = ["/login", "/"]
// 当前路由
if (whiteArry.indexOf(to.path) !== -1) {
console.log('白名单, 不需要登录认证的路由')
next() //放行
return
}
// 登录身份认证
let token = JSON.parse(localStorage.getItem("Token"))
if (token) {
//已经登录
next()
} else {
next('/login?redirect=1')
}
})
2.src --> main.js
import './permission'