一进入网页,首先判断有没有登录,没有登录则跳转到登录页

  1. 在router文件夹下index.js(路由文件)中,做如下修改(在需要判断的路由里添加
    meta: { requireAuth: true // 判断是否需要登录 }
    在这里插入图片描述

  2. 在main.js 同级新建一个文件 permission.js
    在这里插入图片描述
    在permission.js 中:

import router from './router'
import { getToken, removeToken } from '@/utils/auth'

// 路由判断登录 根据路由配置文件的参数
router.beforeEach((to, from, next) => {
  if (to.matched.some(record => record.meta.requireAuth)) { // 判断该路由是否需要登录权限
    if (getToken()) { // 判断当前的token是否存在 ; 登录存入的token
      if (to.path === '/login') {
        removeToken()
        window.location.reload()
      } else {
        next()
      }
    } else {
      next({
        path: '/login',
        query: { redirect: to.fullPath } // 将跳转的路由path作为参数,登录成功后跳转到该路由
      })
    }
  } else {
    next()
  }
})

Logo

前往低代码交流专区

更多推荐