diff --git a/src/business/zulip/websocket_test.controller.ts b/src/business/zulip/websocket_test.controller.ts new file mode 100644 index 0000000..161f351 --- /dev/null +++ b/src/business/zulip/websocket_test.controller.ts @@ -0,0 +1,451 @@ +/** + * WebSocket 测试页面控制器 + * + * 提供一个简单的WebSocket测试界面,可以直接在浏览器中测试WebSocket连接 + * + * @author moyin + * @version 1.0.0 + * @since 2026-01-09 + */ + +import { Controller, Get, Res } from '@nestjs/common'; +import { ApiTags, ApiOperation, ApiResponse } from '@nestjs/swagger'; +import { Response } from 'express'; + +@ApiTags('websocket') +@Controller('websocket-test') +export class WebSocketTestController { + + @Get() + @ApiOperation({ + summary: 'WebSocket 测试页面', + description: '提供一个简单的WebSocket测试界面,可以直接在浏览器中测试连接和消息发送' + }) + @ApiResponse({ + status: 200, + description: 'WebSocket测试页面HTML', + content: { + 'text/html': { + schema: { + type: 'string' + } + } + } + }) + getTestPage(@Res() res: Response) { + const html = ` + + +
+ + +1. 获取JWT Token: 先通过 /auth/login 接口获取有效的JWT Token
2. 建立连接: 点击"连接"按钮建立WebSocket连接
+3. 用户登录: 输入JWT Token并点击"登录"进行认证
+4. 发送消息: 认证成功后可以发送聊天消息和位置更新
+WebSocket地址: wss://whaletownend.xinghangee.icu/game