vue免登录的路由拦截

const router = new Router({
  routes: [
    {
      path: '/',
      name: 'Home',
      component: Home,
      meta: {
        // 头部标识显示
        title: '首页',
        noNeedLogin: true, // 不需要登录的页面
      },
    },
     {
      path: '/login',
      name: 'login',
      component: Login,
      meta: {
        // 头部标识显示
        title: '登录',
        noNeedLogin: true, // 不需要登录的页面
      },
    ]
  )};
// 路由拦截
router.beforeEach((to, from, next) => {
  if (!to.meta.noNeedLogin) {
    if (window.localStorage.getItem('isLogin')) {
      next();
    } else {
      next({ path: '/login' });
    }
  } else {
    next();
  }
});

在设置路由的时候用一个变量控制是否需要登录,不需要登录就调用next(),需要登录则先判断是否有登录的缓存存在,不存在调往登录页面。

Logo

前往低代码交流专区

更多推荐