- 重构sendGameAction函数参数结构,添加上下文支持 - 新增sendStartGame和sendLeaveRoom函数统一处理游戏开始和离开房间逻辑 - 移除路由相关依赖,简化ChengduGamePage组件 - 更新WebSocket客户端实现,添加状态变化订阅功能 - 移除requestId生成函数和相关参数,精简消息结构 - 优化座位玩家卡片数据模型,移除在线状态和金钱字段 - 整理游戏阶段常量定义,添加标签映射 - 移除过期的游戏状态字段如needDraw、lastDiscardTile等 - 添加座位类型定义和改进游戏类型文件组织结构
30 lines
529 B
TypeScript
30 lines
529 B
TypeScript
// 通用消息结构
|
|
/**
|
|
* 客户端 → 服务端(请求 / 操作)
|
|
*/
|
|
export interface ActionMessage<T = any> {
|
|
type: string
|
|
sender?: string
|
|
target?: string
|
|
roomId?: string
|
|
seq?: number
|
|
status?: string
|
|
trace_id?: string
|
|
|
|
payload?: T
|
|
}
|
|
|
|
/**
|
|
* 服务端 → 客户端(事件 / 推送)
|
|
*/
|
|
export interface ActionEvent<T = any> {
|
|
type: string
|
|
target?: string
|
|
roomId?: string
|
|
seq?: number
|
|
status?: string
|
|
requestId?: string
|
|
trace_id?: string
|
|
|
|
payload?: T
|
|
} |