路由守卫根据本地是否存在 Token 决定跳转,用于改善页面导航体验。Token 是否有效、用户是否有权访问数据,仍由后端接口校验;存在 Token 不代表已经通过鉴权。

创建js脚本

import router from "@/router/index";
import store from "@/store";
router.beforeEach((to, from, next) => {
// 白名单,放行
const whiteList = ["/login"];
// 获取token
const token = store.getters.GET_TOKEN;
// 存在token,放行
if (token) {
next();
} else {
// 路径存在白名单,放行
if (whiteList.includes(to.path)) {
next();
} else {
// 否则跳转主页
next("/login");
}
}
});

引入到main.ts

import '@/router/permission'