From e4f7e76e7881a575c1f0008e8da155068c9380b0 Mon Sep 17 00:00:00 2001 From: "1147680382@qq.com" Date: Mon, 26 May 2025 15:12:19 +0800 Subject: [PATCH] =?UTF-8?q?=E6=B7=BB=E5=8A=A0=E8=B7=AF=E7=94=B1=E6=9D=83?= =?UTF-8?q?=E9=99=90?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/router/index.js | 42 ++++++++++++++++++++++++++---------------- 1 file changed, 26 insertions(+), 16 deletions(-) diff --git a/src/router/index.js b/src/router/index.js index 8e8da6a..a45e0a7 100644 --- a/src/router/index.js +++ b/src/router/index.js @@ -7,22 +7,32 @@ NProgress.configure({ speed: 500, }); -const writeNames = ["/login"]; -// router.beforeEach((to, from, next) => { -// NProgress.start(); -// if (sessionStorage.getItem("token")) { -// if (to.path === "/login") { -// next("/"); -// } -// return next(); -// } else { -// if (writeNames.includes(to.path)) { -// next(); -// } else { -// next("/login"); -// } -// } -// }); +// 路由守卫 +router.beforeEach((to, from, next) => { + // 获取token和用户信息 + const token = sessionStorage.getItem('token') + const userInfo = JSON.parse(sessionStorage.getItem('userInfo') || '{}') + + // 白名单路由(不需要登录就可以访问的路由) + const whiteList = ['/login'] + + // 如果在白名单中,直接放行 + if (whiteList.includes(to.path)) { + next() + return + } + + // 判断是否登录 + if (!token || !userInfo.userid) { + // 未登录,跳转到登录页 + next('/login') + return + } + + // 已登录,放行 + next() +}) + router.afterEach((transition) => { NProgress.done(); });