From 618fb495110890ea8b03330e685c209bcc955d0c Mon Sep 17 00:00:00 2001 From: Mars <3361409208a@gmail.com> Date: Thu, 11 Jun 2026 09:47:24 +0800 Subject: [PATCH] =?UTF-8?q?fix(player):=20=E4=BF=AE=E5=A4=8D=E7=99=BB?= =?UTF-8?q?=E5=BD=95=E9=A1=B5=E3=80=8C=E7=BB=A7=E7=BB=AD=E6=B5=8F=E8=A7=88?= =?UTF-8?q?=E3=80=8D=E8=B7=B3=E8=BD=AC=E5=88=B0=E9=9C=80=E7=99=BB=E5=BD=95?= =?UTF-8?q?=E9=A1=B5=E7=9A=84=E6=AD=BB=E5=BE=AA=E7=8E=AF?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 跳过登录时仅允许进入首页、投注页或赛事详情等公开页面,避免 redirect 指向钱包/个人中心时被路由守卫拦截而停留在登录页。 Co-authored-by: Cursor --- apps/player/src/views/LoginView.vue | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/apps/player/src/views/LoginView.vue b/apps/player/src/views/LoginView.vue index 7630dd7..c0a7fc9 100644 --- a/apps/player/src/views/LoginView.vue +++ b/apps/player/src/views/LoginView.vue @@ -39,9 +39,17 @@ async function submit() { } } +function isGuestBrowsablePath(path: string): boolean { + if (!path || path === '/' || path === '/bet') return true; + if (path.startsWith('/match/')) return true; + return false; +} + function continueBrowsing() { - const redirect = (route.query.redirect as string) || '/'; - router.push(redirect); + const redirect = typeof route.query.redirect === 'string' ? route.query.redirect : ''; + // redirect 是登录成功后的目标;跳过登录时只能去公开页,避免跳回需登录页形成死循环 + const target = isGuestBrowsablePath(redirect) ? redirect || '/' : '/'; + router.replace(target); }