feat: 添加 WebSocket 消息 DTO

This commit is contained in:
2026-06-23 10:53:41 +08:00
parent d0ade3c469
commit 6ef11b8d5b
3 changed files with 72 additions and 0 deletions

View File

@@ -0,0 +1,26 @@
package com.webgame.webgamebackend.ws.dto;
/**
* 客户端→服务端 WebSocket 消息类型
*/
public final class WsInboundMessage {
private WsInboundMessage() {}
/** 落子 */
public static final String PLACE_STONE = "place_stone";
/** 发送聊天 */
public static final String CHAT = "chat";
/** 准备/取消准备 */
public static final String READY = "ready";
/** 认输 */
public static final String RESIGN = "resign";
/** 求和请求 */
public static final String DRAW_REQUEST = "draw_request";
/** 同意/拒绝求和 */
public static final String DRAW_RESPONSE = "draw_response";
/** 离开房间 */
public static final String LEAVE = "leave";
/** 开始游戏(仅房主) */
public static final String START = "start";
}

View File

@@ -0,0 +1,12 @@
package com.webgame.webgamebackend.ws.dto;
/**
* WebSocket 消息通用封装
*
* @param type 消息类型
* @param data 消息数据JSON 对象或基本类型)
*/
public record WsMessage(
String type,
Object data
) {}

View File

@@ -0,0 +1,34 @@
package com.webgame.webgamebackend.ws.dto;
/**
* 服务端→客户端 WebSocket 消息类型
*/
public final class WsOutboundMessage {
private WsOutboundMessage() {}
/** 棋盘全量同步 */
public static final String BOARD_SYNC = "board_sync";
/** 单步落子通知 */
public static final String MOVE = "move";
/** 轮次切换 */
public static final String TURN_CHANGE = "turn_change";
/** 聊天广播 */
public static final String CHAT_BROADCAST = "chat_broadcast";
/** 对局结束 */
public static final String GAME_OVER = "game_over";
/** 玩家加入 */
public static final String PLAYER_JOIN = "player_join";
/** 玩家离开 */
public static final String PLAYER_LEAVE = "player_leave";
/** 玩家准备状态变更 */
public static final String READY_CHANGE = "ready_change";
/** 观战者加入 */
public static final String SPECTATOR_JOIN = "spectator_join";
/** 观战者离开 */
public static final String SPECTATOR_LEAVE = "spectator_leave";
/** 走棋记录同步 */
public static final String MOVE_HISTORY = "move_history";
/** 错误消息 */
public static final String ERROR = "error";
}