From 61967a1ecefb294b4e6ba25f02aaa53c2c301c82 Mon Sep 17 00:00:00 2001 From: gzt Date: Thu, 12 Dec 2024 16:24:55 +0800 Subject: [PATCH] =?UTF-8?q?fix:=E6=81=A2=E5=A4=8D=E8=B7=AF=E7=94=B1?= =?UTF-8?q?=E5=AE=88=E5=8D=AB?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/router/router.ts | 64 ++++++++++++++++++++++++++-------------------------- 1 file changed, 32 insertions(+), 32 deletions(-) diff --git a/src/router/router.ts b/src/router/router.ts index cfd0cba..a412953 100644 --- a/src/router/router.ts +++ b/src/router/router.ts @@ -96,38 +96,38 @@ function getCurrentUser() { return token } // 路由守卫,检查本地 Token 是否存在 -// router.beforeEach((to, from, next) => { -// console.log(from) -// const token = sessionStorage.getItem('token') -// if (!token && to.path !== '/login') { -// next('/login') // 没有 token,重定向到登录页 -// } else if (token && to.path === '/login') { -// next('/index') // 已有 token 且请求登录页,则跳转到主页 -// } else { -// next() // 通过 -// } -// }) +router.beforeEach((to, from, next) => { + console.log(from) + const token = sessionStorage.getItem('token') + if (!token && to.path !== '/login') { + next('/login') // 没有 token,重定向到登录页 + } else if (token && to.path === '/login') { + next('/index') // 已有 token 且请求登录页,则跳转到主页 + } else { + next() // 通过 + } +}) // 在 router/index.ts 中添加全局路由守卫 -// router.beforeEach((to, from, next) => { -// console.log(from) -// const user = getCurrentUser() // 获取当前用户 -// console.log(user) -// // 判断目标路由是否需要权限检查 -// if (to.matched.some((record) => record.meta.requiresAuth)) { -// // 如果没有登录,重定向到登录页面 -// if (!user) { -// return next('/login') // 保存当前访问的路径,用于登录后重定向 -// } -// // 判断是否需要 Admin 权限 -// if ( -// to.matched.some((record) => record.meta.requiresAdmin) && -// user.usrRole !== 'Admin' -// ) { -// return next({ path: '/notFound' }) // 权限不足,重定向到首页或者其他页面 -// } -// } -// // 如果没有问题,继续导航 -// next() -// }) +router.beforeEach((to, from, next) => { + console.log(from) + const user = getCurrentUser() // 获取当前用户 + console.log(user) + // 判断目标路由是否需要权限检查 + if (to.matched.some((record) => record.meta.requiresAuth)) { + // 如果没有登录,重定向到登录页面 + if (!user) { + return next('/login') // 保存当前访问的路径,用于登录后重定向 + } + // 判断是否需要 Admin 权限 + if ( + to.matched.some((record) => record.meta.requiresAdmin) && + user.usrRole !== 'Admin' + ) { + return next({ path: '/notFound' }) // 权限不足,重定向到首页或者其他页面 + } + } + // 如果没有问题,继续导航 + next() +}) export default router