跳到主要内容
版本:Current

调试指南

登录码链路

# 1. Redis 中是否有码
redis-cli GET game:main_room:login_code

# 2. 手动 verify
curl -X POST http://localhost:4000/api/auth/verify-code \
-H "Content-Type: application/json" \
-d '{"code":"123456","playerId":"550e8400-e29b-41d4-a716-446655440000"}'

# 3. 玩家序号
redis-cli GET game:main_room:player_number_seq

玩家身份

# 某 UUID 的显示名
redis-cli GET "player:<uuid>:displayName"
redis-cli GET "internal:player:<uuid>@game.local:displayName"

# 存活列表(internalEmail)
redis-cli SMEMBERS room:main_room:survivors

Session / JWT

浏览器: /api/auth/session — 检查 accessToken, name(displayName)

# 解码 JWT payload
node -e "console.log(JSON.parse(Buffer.from('TOKEN'.split('.')[1],'base64')))"

Socket(DevTools → Network → WS)

关注帧: login_code_published, game_state, new_question, winner

Admin API

curl -X POST http://localhost:4000/api/admin/publish-login-code \
-H "Authorization: Bearer $TOKEN"

负载测试

cd flood-test
node code-login-test.js
node e2e-code-game-load-test.js

定位流程

localStorage

DevTools → Application → bucssa_lottery_player_id — 玩家 UUID

清除后重新登录会分配 新编号(若旧 UUID 未在 survivors 中无影响)。