feature/websocket-unify-and-openapi-update #38
42
src/main.ts
42
src/main.ts
@@ -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);
|
||||||
|
|||||||
Reference in New Issue
Block a user