1. 在router/index.js进行验证

2. 代码如下:

import Vue from 'vue'
import Router from 'vue-router'
import Login from '@/components/common/Login';
......

Vue.use(Router)
const router = new Router({
  routes: [{
      path: '/',
      name: Login,
      component: Login,
    },
    {
      path: '/home',
      component: Home,
      meta: {                                    
        requiresAuth: true      // 要求验证的页面,在此情况下其子页面也会被验证.
      },
      children: [{
          path: '/paChong',
          name: 'PaChong',
          component: PaChong
        }
      ]
    }
  ]
})
router.beforeEach((to, from, next) => {
  if (to.matched.some(record => record.meta.requiresAuth)) {     // 哪些需要验证
    if (!sessionStorage.getItem("token")) {                      // token存在条件   
      next({
        path: '/',                                               // 验证失败要跳转的页面
        query: {
           redirect: to.fullPath                                 // 要传的参数
         }
      })
    } else {
      next()
    }
  } else {
    next()                                                       // 确保一定要调用 next()
  }
})

export default router
Logo

前往低代码交流专区

更多推荐