重构Api接口到Msg

This commit is contained in:
janing
2025-12-18 12:03:03 +08:00
parent 7301adbb43
commit c12e439add
15 changed files with 450 additions and 356 deletions

View File

@@ -80,6 +80,14 @@ Roguelike 游戏服务端开发任务追踪
- [x] 移动API实现 (ApiMove.ts)
- [x] 位置验证和边界检查
- [x] 登录时广播玩家加入
- [x] **架构重构从HTTP API到WebSocket消息** (2025-12-18)
- [x] 删除旧的API实现 (src/api目录)
- [x] 删除旧的API协议 (PtlLogin.ts, PtlMove.ts, PtlSend.ts)
- [x] 创建消息协议文件 (MsgReq*/MsgRes*)
- [x] 创建消息处理器 (src/msg目录)
- [x] 更新服务器配置为消息监听模式
- [x] 重新生成serviceProto.ts文件
- [x] 修复所有消息名称映射问题
### 进行中
- 等待下一阶段开发...
@@ -87,6 +95,27 @@ Roguelike 游戏服务端开发任务追踪
### 待办事项
- 按照上述规划顺序实施开发
## 重要架构说明
### 🚨 消息协议设计规范 (2025-12-18更新)
**本项目使用WebSocket服务器后续所有接口设计必须使用消息Message方式而非API方式**
#### 消息命名规范:
- 请求消息:`MsgReq{功能名}.ts` (如MsgReqLogin.ts)
- 响应消息:`MsgRes{功能名}.ts` (如MsgResLogin.ts)
- 广播消息:`Msg{事件名}.ts` (如MsgPlayerMove.ts)
#### 消息处理器位置:
- 文件位置:`src/msg/MsgReq{功能名}.ts`
- 处理函数:使用 `MsgCall<MsgReq{功能名}>` 参数
- 响应方式:`call.conn.sendMsg('Res{功能名}', response)`
- 注册方式:`server.listenMsg('Req{功能名}', handler)`
#### 协议文件生成:
- 使用 `npm run proto` 自动生成 `serviceProto.ts`
- 禁止直接修改 `serviceProto.ts` 文件
- 协议文件会自动去掉 "Msg" 前缀进行注册
## 技术栈
- TSRPC 框架
- TypeScript
@@ -94,5 +123,6 @@ Roguelike 游戏服务端开发任务追踪
## 备注
- 本文档由 AI 助手维护
- 更新日期: 2025-12-14
- 更新日期: 2025-12-18
- 开发过程中会根据实际情况调整任务优先级和细节
- **重要**项目已从HTTP API架构迁移到WebSocket消息架构请严格按照消息协议规范开发