跳到主要内容
版本:Current

运行时选项

npm scripts

Backend

命令说明
npm run devbuild + start
npm run buildtsc → dist/
npm startnode dist/index.js
npm run typechecktsc --noEmit

Frontend

命令说明
npm run devnext dev :3000
npm run build生产构建
npm startnext start
npm run lintESLint

Socket.IO(backend/src/lib/socket.ts)

选项
pingTimeout60000 ms
pingInterval25000 ms
transportswebsocket, polling

主题

// frontend/src/lib/theme.ts
NEXT_PUBLIC_THEME=spring | mario

layout.tsx 设置 document.documentElement.dataset.theme

登录码

  • 6 位随机数字 100000–999999
  • 无 Redis TTL,直到 close 或 reset
  • 发布时覆盖旧码

玩家编号

  • Redis INCR game:{roomId}:player_number_seq
  • 显示格式:玩家 # + 三位零填充(#001

JWT

expiresIn: '30d'
issuer: 'lottery-frontend'
audience: 'lottery-backend'

倒计时阈值

Core Concepts — 15/20/30/40 秒。

localStorage

说明
bucssa_lottery_player_id玩家 UUID

Prisma

cd backend && npx prisma generate
cd frontend && npx prisma migrate dev # 开发
npx prisma migrate deploy # 生产

负载测试

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