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

24 lines
1.5 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# 问题 10每人筹码区增加“总已下”累计每次下注
## 现象 / 需求
在牌桌每个座位(玩家筹码区)增加一项 **“本手总已下”**totalBetThisHand
即该玩家在这一手里面累计投入底池的筹码总和(盲注 + 每次跟注/加注),并展示出来。
## 现状
- `HoldemPlayer.totalBetThisHand` **字段已存在**`holdem.ts:58`),且在下注时实时累加
`callMove` / `raiseMove` / `postBlind` 都更新它)。
-**UI 没显示它**`HoldemBoard` 只渲染了 `筹码 {stack}``下 {betThisRound}`
`HoldemBoard.tsx:149-150``betThisRound` 是“本街”已下,`totalBetThisHand` 是“本手”总已下,二者不同。
## 拟采用方案
- UI 在座位信息里加一行:**`总下 {p.totalBetThisHand}`**(仅当 `> 0` 时显示,与 `下 {betThisRound}` 并列)。
- 可选:在“底池”区也显示“本手累计底池”= `pot`(已有)。
- 语义区分清楚:
- `betThisRound`本街flop/turn/river/preflop已下每街重置。
- `totalBetThisHand`:整手累计,发牌时重置(`startHandSetup``p.totalBetThisHand = 0`)。
- 无需改 engine字段和累加都已有且正确纯 UI 展示。
## 验证
- 联机手测preflop 跟注 20 + flop 加注到 60 → 该座位显示 `总下 80`20+60`下 60`
- 单测:确认 `totalBetThisHand``callMove`/`raiseMove` 里累加正确(已有 `buildPots` 间接依赖,补一条直接断言)。