If there is no token in the vue project, entering other pages will reset to the login page, but sometimes some pages do not need to verify the token.

1. In your route intercept main.js in router.beforeEach (some are not in main.js, take mine as an example)

router.beforeEach((to, from, next) => {
  var token = localStorage.getItem('token')//存储token
  if (to.meta.name) {
    document.title = to.meta.name;//路由中设置页面标题
    if (token||to.meta.nacy=='true') {//to.meta.nacy=='true'这里面的nacy就是自己在路由中设置的//不参与token验证的页面参数变量这个变量可以自己定义
          next()
    } else {
      if (to.path == '/login') {
        next()
      } else {
        next('/login')
      }
    }
  }

});

2. Routing configuration

import Vue from 'vue'
import VueRouter from 'vue-router'
Vue.use(VueRouter)

const routes = [
    {
        path: '/login',
        meta: {
            name: "登陆"
        },
        component: () => import("@views/login/index.vue")
    },
    {
        path: '/XXXX',
        meta: {
            name: "页面名称",
            nacy:"true",//是否不做token验证
        },
        component: () => import("@views/XXXX/index.vue")
    },
]

Perfect solution

Guess you like

Origin blog.csdn.net/wei80231996/article/details/111516547