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 = ` + + + + + + WebSocket 测试工具 - Pixel Game Server + + + +

🎮 Pixel Game Server - WebSocket 测试工具

+ +
+

📋 使用说明

+

1. 获取JWT Token: 先通过 /auth/login 接口获取有效的JWT Token

+

2. 建立连接: 点击"连接"按钮建立WebSocket连接

+

3. 用户登录: 输入JWT Token并点击"登录"进行认证

+

4. 发送消息: 认证成功后可以发送聊天消息和位置更新

+

WebSocket地址: wss://whaletownend.xinghangee.icu/game

+
+ +
+
+

🔌 连接控制

+
未连接
+ +
+ + +
+ + + +

🔐 用户认证

+
+ + +
+ +
+ +
+

💬 消息发送

+ +
+ + +
+ +
+
+ + +
+
+ + +
+
+ + + + + +
+
快速发送: Hello!
+
快速发送: 大家好!
+
发送位置更新
+
清空日志
+
+
+
+ +
+

📋 消息日志

+
+
+ + + + + `; + + res.setHeader('Content-Type', 'text/html; charset=utf-8'); + res.send(html); + } +} \ No newline at end of file