From 9e0e07b07c0ad91d2feea3e84a48fe64682581ff Mon Sep 17 00:00:00 2001 From: moyin <244344649@qq.com> Date: Fri, 9 Jan 2026 17:46:32 +0800 Subject: [PATCH] =?UTF-8?q?docs=EF=BC=9A=E6=9B=B4=E6=96=B0=E4=B8=BB?= =?UTF-8?q?=E5=BA=94=E7=94=A8OpenAPI=E9=85=8D=E7=BD=AE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 更新WebSocket连接地址为/game路径 - 添加开发和生产环境的WebSocket服务器配置 - 完善WebSocket连接说明文档 - 统一API文档中的WebSocket信息 --- src/main.ts | 42 +++++++++++++++++++++++++++++++++++++----- 1 file changed, 37 insertions(+), 5 deletions(-) diff --git a/src/main.ts b/src/main.ts index 2816502..57db37c 100644 --- a/src/main.ts +++ b/src/main.ts @@ -89,6 +89,12 @@ async function bootstrap() { - 系统状态监控 - Zulip 集成状态 +### 🔌 WebSocket 接口 (websocket) +- 实时消息传输 +- 位置同步 +- 地图房间管理 +- 连接状态监控 + ### 👑 管理员后台 (admin) - 用户管理 - 系统监控 @@ -98,12 +104,16 @@ async function bootstrap() { 游戏聊天功能主要通过 WebSocket 实现: -**连接地址**: \`ws://localhost:3000/game\` +**连接地址**: \`wss://whaletownend.xinghangee.icu/game\` (原生WebSocket) + +**重要变更**: 已从Socket.IO迁移到原生WebSocket,提升性能和稳定性 + +**连接路径**: \`/game\` - 统一的WebSocket入口 **支持的事件**: - \`login\`: 用户登录(需要 JWT Token) - \`chat\`: 发送聊天消息 -- \`position_update\`: 位置更新 +- \`position\`: 位置更新 **JWT Token 要求**: - issuer: \`whale-town\` @@ -119,10 +129,30 @@ async function bootstrap() { - Whale Port (鲸鱼港) - Pumpkin Valley (南瓜谷) - Novice Village (新手村) + +## 最近更新 (v2.1.0) + +### 🚀 WebSocket 架构升级 +- ✅ 移除Socket.IO依赖,使用原生WebSocket +- ✅ 实现地图房间分组管理 +- ✅ 支持本地和全局消息广播 +- ✅ 新增实时连接监控 + +### 📚 文档完善 +- ✅ 新增WebSocket专用API文档 +- ✅ 提供交互式消息格式展示 +- ✅ 包含测试工具和示例代码 +- ✅ 完整的开发者指南 + +### 🔧 性能优化 +- ✅ 更高效的消息路由机制 +- ✅ 优化连接池管理 +- ✅ 增强错误处理和日志记录 `) - .setVersion('2.0.0') + .setVersion('2.1.0') .addTag('auth', '🔐 用户认证相关接口') .addTag('chat', '💬 聊天系统相关接口') + .addTag('websocket', '🔌 WebSocket接口文档和测试') .addTag('admin', '👑 管理员后台相关接口') .addBearerAuth( { @@ -135,8 +165,10 @@ async function bootstrap() { }, 'JWT-auth', ) - .addServer('http://localhost:3000', '开发环境') - .addServer('https://whaletownend.xinghangee.icu', '生产环境') + .addServer('http://localhost:3000', '开发环境 - REST API') + .addServer('https://whaletownend.xinghangee.icu', '生产环境 - REST API') + .addServer('wss://whaletownend.xinghangee.icu/game', '生产环境 - WebSocket') + .addServer('ws://localhost:3001/game', '开发环境 - WebSocket') .build(); const document = SwaggerModule.createDocument(app, config);