Files
huajishe-tts/docs/texas/10-chip-total-bet.md
e2hang 04d0af515c feat: 登录系统落地 + 踢人修正 + 单房间约束 + 权限收口
问题8 登录系统:
- node:sqlite 账号存储(scrypt 哈希 + HMAC 签名 token),preset admin 改为 e2hang/evan1115
- /api/auth/register|login|me,me 返回 room 供重联
- 网关拦截 create/join 需登录(401),列表保持开放

踢人逻辑修正(问题2 延伸):
- kickMove 真正释放座位(folded=false, name=null)而非锁死
- war/mill 去掉永久封禁语义

管理员越权:管理员 token 可删任意房间、踢任意房间内的人

单房间约束(用户新需求):
- 同一用户同时只能在一个房间,create/join 他房返回 409
- 踢人后若房间仅剩踢人者则自动解散并释放其记录(修复 2 人局踢光对手后被困 409)
- 陈旧房间记录兜底清理

UI 清理:移除"改名"按钮与"你的名字"输入框;删除房间按钮仅房主/管理员可见

docs: 新增 12-auth-kick-single-room.md 汇总本会话全部需求/根因/修复/边界测试

Co-Authored-By: Claude (CodeBuddy) <noreply@codebuddy.ai>
2026-08-25 14:13:59 +08:00

1.5 KiB
Raw Permalink Blame History

问题 10每人筹码区增加“总已下”累计每次下注

现象 / 需求

在牌桌每个座位(玩家筹码区)增加一项 “本手总已下”totalBetThisHand 即该玩家在这一手里面累计投入底池的筹码总和(盲注 + 每次跟注/加注),并展示出来。

现状

  • HoldemPlayer.totalBetThisHand 字段已存在holdem.ts:58),且在下注时实时累加 callMove / raiseMove / postBlind 都更新它)。
  • UI 没显示它HoldemBoard 只渲染了 筹码 {stack}下 {betThisRound} HoldemBoard.tsx:149-150betThisRound 是“本街”已下,totalBetThisHand 是“本手”总已下,二者不同。

拟采用方案

  • UI 在座位信息里加一行:总下 {p.totalBetThisHand}(仅当 > 0 时显示,与 下 {betThisRound} 并列)。
  • 可选:在“底池”区也显示“本手累计底池”= pot(已有)。
  • 语义区分清楚:
    • betThisRound本街flop/turn/river/preflop已下每街重置。
    • totalBetThisHand:整手累计,发牌时重置(startHandSetupp.totalBetThisHand = 0)。
  • 无需改 engine字段和累加都已有且正确纯 UI 展示。

验证

  • 联机手测preflop 跟注 20 + flop 加注到 60 → 该座位显示 总下 8020+60下 60
  • 单测:确认 totalBetThisHandcallMove/raiseMove 里累加正确(已有 buildPots 间接依赖,补一条直接断言)。