router 路由守卫

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'

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值