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); }