refactor(game): 重构游戏动作处理和WebSocket连接管理

- 重构sendGameAction函数参数结构,添加上下文支持
- 新增sendStartGame和sendLeaveRoom函数统一处理游戏开始和离开房间逻辑
- 移除路由相关依赖,简化ChengduGamePage组件
- 更新WebSocket客户端实现,添加状态变化订阅功能
- 移除requestId生成函数和相关参数,精简消息结构
- 优化座位玩家卡片数据模型,移除在线状态和金钱字段
- 整理游戏阶段常量定义,添加标签映射
- 移除过期的游戏状态字段如needDraw、lastDiscardTile等
- 添加座位类型定义和改进游戏类型文件组织结构
This commit is contained in:
2026-03-25 13:34:47 +08:00
parent 4f6ef1d0ec
commit 148e21f3b0
13 changed files with 236 additions and 867 deletions

View File

@@ -26,8 +26,8 @@ const missingSuitIcon = computed(() => {
<template>
<article
class="player-badge"
:class="[seatClass, { 'is-turn': player.isTurn, offline: !player.isOnline }]"
class="player-badge"
:class="[seatClass, { 'is-turn': player.isTurn }]"
>
<div class="avatar-panel">
<div class="avatar-card">{{ player.avatar }}</div>
@@ -36,7 +36,6 @@ const missingSuitIcon = computed(() => {
<div class="player-meta">
<p>{{ player.name }}</p>
<strong>{{ player.money }}</strong>
</div>
<div class="missing-mark">
@@ -44,4 +43,4 @@ const missingSuitIcon = computed(() => {
<span v-else>{{ player.missingSuitLabel }}</span>
</div>
</article>
</template>
</template>