feature/websocket-unify-and-openapi-update #38

Merged
moyin merged 6 commits from feature/websocket-unify-and-openapi-update into main 2026-01-09 17:50:13 +08:00
Showing only changes of commit 9e0e07b07c - Show all commits

View File

@@ -89,6 +89,12 @@ async function bootstrap() {
- 系统状态监控 - 系统状态监控
- Zulip 集成状态 - Zulip 集成状态
### 🔌 WebSocket 接口 (websocket)
- 实时消息传输
- 位置同步
- 地图房间管理
- 连接状态监控
### 👑 管理员后台 (admin) ### 👑 管理员后台 (admin)
- 用户管理 - 用户管理
- 系统监控 - 系统监控
@@ -98,12 +104,16 @@ async function bootstrap() {
游戏聊天功能主要通过 WebSocket 实现: 游戏聊天功能主要通过 WebSocket 实现:
**连接地址**: \`ws://localhost:3000/game\` **连接地址**: \`wss://whaletownend.xinghangee.icu/game\` (原生WebSocket)
**重要变更**: 已从Socket.IO迁移到原生WebSocket提升性能和稳定性
**连接路径**: \`/game\` - 统一的WebSocket入口
**支持的事件**: **支持的事件**:
- \`login\`: 用户登录(需要 JWT Token - \`login\`: 用户登录(需要 JWT Token
- \`chat\`: 发送聊天消息 - \`chat\`: 发送聊天消息
- \`position_update\`: 位置更新 - \`position\`: 位置更新
**JWT Token 要求**: **JWT Token 要求**:
- issuer: \`whale-town\` - issuer: \`whale-town\`
@@ -119,10 +129,30 @@ async function bootstrap() {
- Whale Port (鲸鱼港) - Whale Port (鲸鱼港)
- Pumpkin Valley (南瓜谷) - Pumpkin Valley (南瓜谷)
- Novice Village (新手村) - Novice Village (新手村)
## 最近更新 (v2.1.0)
### 🚀 WebSocket 架构升级
- ✅ 移除Socket.IO依赖使用原生WebSocket
- ✅ 实现地图房间分组管理
- ✅ 支持本地和全局消息广播
- ✅ 新增实时连接监控
### 📚 文档完善
- ✅ 新增WebSocket专用API文档
- ✅ 提供交互式消息格式展示
- ✅ 包含测试工具和示例代码
- ✅ 完整的开发者指南
### 🔧 性能优化
- ✅ 更高效的消息路由机制
- ✅ 优化连接池管理
- ✅ 增强错误处理和日志记录
`) `)
.setVersion('2.0.0') .setVersion('2.1.0')
.addTag('auth', '🔐 用户认证相关接口') .addTag('auth', '🔐 用户认证相关接口')
.addTag('chat', '💬 聊天系统相关接口') .addTag('chat', '💬 聊天系统相关接口')
.addTag('websocket', '🔌 WebSocket接口文档和测试')
.addTag('admin', '👑 管理员后台相关接口') .addTag('admin', '👑 管理员后台相关接口')
.addBearerAuth( .addBearerAuth(
{ {
@@ -135,8 +165,10 @@ async function bootstrap() {
}, },
'JWT-auth', 'JWT-auth',
) )
.addServer('http://localhost:3000', '开发环境') .addServer('http://localhost:3000', '开发环境 - REST API')
.addServer('https://whaletownend.xinghangee.icu', '生产环境') .addServer('https://whaletownend.xinghangee.icu', '生产环境 - REST API')
.addServer('wss://whaletownend.xinghangee.icu/game', '生产环境 - WebSocket')
.addServer('ws://localhost:3001/game', '开发环境 - WebSocket')
.build(); .build();
const document = SwaggerModule.createDocument(app, config); const document = SwaggerModule.createDocument(app, config);