feat(教学): 扩展教学建议链路以支持候选牌列表
扩展教学建议链路,在 PrivateTeachingMessage 中增加 candidates 字段,支持前端展示候选牌、评分和原因标签。同时优化前端组件结构,抽离共享类型和工具函数,为后续页面拆分做准备。 - 后端:在 GameSessionService 和 GameMessagePublisher 中透传候选牌列表 - 前端:新增 GameMessageStack 组件展示教学候选,优化手牌区推荐牌高亮 - 测试:补充 GameMessagePublisherTest 验证候选牌消息结构 - 文档:更新 DEVELOPMENT_PLAN 和 H5_GAME_PAGE_ARCHITECTURE 说明当前前端结构
This commit is contained in:
Binary file not shown.
@@ -2,15 +2,16 @@
|
||||
- 已从工程占位分切换到“最小可扩展正式版”计分骨架。
|
||||
- 当前已支持的规则主线包括:七对、对对胡、金钩钓、清一色、根、抢杠胡、杠上花、杠上炮、海底捞月、海底炮、明杠/补杠/暗杠、退税、查叫、一炮多响、最小正式版过水不胡。
|
||||
- 当前胡牌计分口径:`paymentScore = 1 << totalFan`。
|
||||
- 一炮多响:只对 `HU` 开放多赢家同窗裁决,`PENG/GANG` 仍单赢家。
|
||||
- 一炮多响:只对 `HU` 开放多赢家同窗裁决,`PENG / GANG` 仍单赢家。
|
||||
- 过水不胡:玩家在响应窗口里本可 `HU` 但选择 `PASS` 后,直到自己下一次真正摸牌前,不能再做响应胡;不影响碰、杠、自摸胡。
|
||||
- 后端最小验证:`cd backend && mvn test` 通过,当前 53 个测试通过。
|
||||
- 前端 H5 对局页已经完成两轮联调:
|
||||
- 已区分“当前回合动作”和“响应动作”两种动作面板。
|
||||
- `DISCARD` 继续通过点击手牌执行,`GANG/HU` 等额外动作走统一面板。
|
||||
- 响应动作面板会展示 `sourceSeatNo`、`triggerTile`、`triggerEventType`、`windowId`。
|
||||
- 已支持在对局页切换玩家视角,并自动刷新对应 `GameStateResponse` 与重连该玩家私有 WebSocket 主题。
|
||||
- 公共事件接收已改为统一入口处理,会在 `RESPONSE_WINDOW_CLOSED`、`TURN_SWITCHED`、`TILE_DISCARDED`、`GAME_PHASE_CHANGED` 等场景下清理已失效的私有动作面板,避免旧窗口残留。
|
||||
- 公共事件时间线已支持中文摘要文案、时间展示和原始载荷折叠查看,便于联调时同时看“业务含义”和“真实 payload”。
|
||||
- 注释约定继续有效:后端复杂规则、前端复杂交互和后续数据库脚本都要补适当偏多的中文注释。
|
||||
- 前端验证:`cd frontend && npm run build` 通过。
|
||||
- 教学建议链路已扩展为:`recommendedAction`、`explanation`、`candidates`,其中 `candidates` 透传到私有 WebSocket 教学消息,前端已支持展示候选牌、评分和原因标签中文映射。
|
||||
- 前端 H5 对局页已完成正式动作面板、响应动作面板、玩家视角切换、公共事件时间线、最近结算卡片、教学推荐高亮等联调。
|
||||
- 2026-03-20 当日新增一轮前端结构收口:
|
||||
- 新增 `docs/H5_GAME_PAGE_ARCHITECTURE.md`,完成 `S1-08` 页面信息架构与拆分方案。
|
||||
- 前端共享类型已抽到 `frontend/src/types/game.ts`。
|
||||
- UI 标签映射与事件/结算格式化函数已抽到 `frontend/src/utils/gameUi.ts`。
|
||||
- 已拆出展示组件:`GameActionDock.vue`、`GameMessageStack.vue`、`PublicEventTimeline.vue`。
|
||||
- `App.vue` 当前定位已经收敛为“页面容器 + 请求/订阅协调层”,便于下一轮继续拆 `RoomPage / GamePage / ReviewPage`。
|
||||
- 2026-03-20 当日还修复了 `GameSessionServiceTest` 中两条“过水不胡”测试的脆弱构造,改为显式控制响应胡候选与后续安全弃牌,避免依赖随机初始牌与中间牌路。
|
||||
- 当前验证状态:`cd backend && mvn test` 通过;`cd frontend && npm run build` 通过。
|
||||
- 注释约定继续有效:后端复杂规则、前端复杂交互、后续数据库脚本和迁移都要补适当偏多的中文注释,尤其说明规则判断、状态切换、消息边界与字段语义。
|
||||
Reference in New Issue
Block a user