Skip to main content
Version: Current

FAQ

国内和美国登录有什么区别?

国内美国
Player/login 6 位登录码/login Google / Azure OAuth
Admin / Display/staff-login 邮箱+密码/login OAuth + 白名单邮箱

两套方案 不要在同一活动混用。详见 认证场景

国内:玩家怎么登录?

现场看大屏 6 位码 → /login 输入 → 成为「玩家 #NNN」。不需要 Google 账号。

国内:Admin/Display 怎么登录?

/staff-login,白名单邮箱 + 环境变量 STAFF_ADMIN_PASSWORD / STAFF_DISPLAY_PASSWORD不是登录码。

美国:三端怎么登录?

均在 /loginGoogle 或 Azure AD。Admin/Display 须使用 auth.ts 中配置的邮箱,由 OAuth 回调后识别角色。无需登录码与 Staff 密码。

登录码会过期吗?(国内)

不会自动过期。Admin 关闭登录码重置游戏 后失效。重新发布会覆盖旧码。

同一手机换浏览器还会是同一个玩家吗?(国内)

localStorage 存 UUID,同一浏览器 复用编号。换浏览器/清缓存 → 新 UUID → 新编号。

为什么登录后被踢出?

游戏已开始(Admin 发过第一题)且你是 新玩家。等 reset 后再登录。国内、美国均适用。

大屏为什么显示 email 而不是玩家编号?

国内应显示 winnerDisplay / finalistsDisplay玩家 #XXX)。若只见 email,检查 Frontend 是否使用 display 字段。美国 OAuth 场景通常直接显示邮箱。

如何从国内切到美国 OAuth?

配置 GOOGLE_* / AZURE_AD_*,在 login/page.tsx 启用 UsLoginPanel / RegionToggle,见 添加新功能 — 美区 OAuth

如何切换 Mario 主题?

NEXT_PUBLIC_THEME=mario,重新 build/deploy Frontend。

200 人同时登录会有问题吗?

国内可用 code-login-test.js 压测;美国需验证 OAuth 与 Socket 并发。活动前建议在 staging 跑一遍。

reset 会清什么?

游戏状态、登录码(国内)、玩家编号映射、答案记录。自动清 PostgreSQL GameResult 历史。

能多房间吗?

当前单房间 main_room。多房间需改 room.ts 与 Redis key 策略。

如何查历史胜负?

SELECT * FROM "GameResult" ORDER BY "endedAt" DESC;

国内存 internalEmail,当时大屏为 displayName;美国多为 OAuth email。