跳到主要内容
版本:Current

基本使用

登录方式取决于部署场景,见 认证场景。下文默认 国内场景;美国场景三端均从 /login 使用 OAuth,无发码步骤。

国内:玩家(/login/play

  1. 查看现场大屏上的 6 位登录码
  2. 打开 /login,输入登录码
  3. 首次登录自动分配 玩家 #NNN 显示名
  4. 进入 /play 等待 Admin 发题
  5. 倒计时内点击 A 或 B
提示

登录码错误会提示「请查看现场投屏」。Admin 可 关闭登录码 停止新玩家入场。

国内:工作人员 Admin(/staff-login/admin

操作说明
发布登录码生成新 6 位码,广播至 Show
关闭登录码清除码,大屏显示「等待发布」
发布题目从 13 道预设选题发题
重置游戏清空所有状态,需 confirm

发题前状态须为 waiting(或本局已 ended)。

国内:工作人员 Display(/staff-login/show

  • 默认展示 登录码界面(有码时全屏显示数字)
  • 发题后切换为赛况 / 题目 / 倒计时
  • 游戏结束展示 WinnerModal 或 TieModal(显示名而非 email)

美国:三端 OAuth

  1. 配置 Google / Azure AD 环境变量
  2. 玩家、Admin、Display 均访问 /login,选择 OAuth 登录
  3. Admin / Display 邮箱须在 frontend/src/lib/auth.ts 白名单中
  4. 无「发布登录码」;控场流程见 Web 界面指南

路由守卫

middleware.ts

  • /admin → 需 isAdmin
  • /show → 需 isDisplay
  • /play → Admin 重定向 /admin,Display 重定向 /show
  • /login/staff-login → 公开

主题切换

NEXT_PUBLIC_THEME=mario   # 像素 Mario 风
NEXT_PUBLIC_THEME=spring # 默认春节风

修改后重新 build Frontend。

Mario 主题预览页

开发用:/winner-modal-preview — 获胜弹窗预览。