/** * WebSocket 测试页面控制器 * * 提供一个简单的WebSocket测试界面,可以直接在浏览器中测试WebSocket连接 * 包含API调用监控功能,帮助前端开发者了解接口调用情况 * * @author moyin * @version 1.1.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 测试页面 + 通知系统 - 一键测试工具 + API监控', description: ` **🚀 功能强大的WebSocket测试工具 + 通知系统** 提供完整的WebSocket测试功能: - ✅ 自动获取JWT Token - ✅ 一键建立WebSocket连接 - ✅ 用户认证和登录 - ✅ 聊天消息发送测试 - ✅ 位置更新测试 - ✅ 实时消息日志 - 📡 **API调用监控** - 实时显示所有HTTP请求 - 🔔 **通知系统测试** - 完整的通知功能测试 **新增通知系统功能**: - 🔔 实时通知WebSocket连接 - 📢 通知发送和接收测试 - 📋 通知列表管理 - 🔢 未读通知统计 - 🎯 支持系统、用户、广播通知 - ⏰ 定时通知功能 **使用方法**: 1. 点击下方"Execute"按钮 2. 在响应中会返回完整的测试页面HTML 3. 或直接访问: /websocket-test **推荐**:直接在新标签页中打开 [/websocket-test](/websocket-test) ` }) @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 测试工具 + 通知系统

📋 使用说明

🚀 一键测试: 点击"🚀 一键测试"按钮,系统会自动生成随机账号并完成所有步骤

🔐 认证方式: 支持密码登录和验证码登录两种方式

🎲 随机账号: 自动生成符合要求的随机测试账号,方便多用户测试

🔧 灵活配置: 可以自定义用户信息、使用默认账号或生成随机账号

📡 API监控: 实时显示所有HTTP请求,帮助前端开发者了解接口调用情况

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

💡 新功能亮点:
• 🎲 随机账号生成:自动生成符合要求的测试账号,方便多用户测试
• 🤖 智能注册登录:自动检测账号状态,不存在则自动注册
• 📱 验证码注册:支持邮箱验证码注册新账号
• 🔍 调试验证码:自动获取验证码,无需真实邮箱
• 🔄 自动重试:用户名冲突时自动生成新用户名
• 💾 本地存储:自动保存Token,下次访问无需重新获取
• 📧 真实邮箱支持:检测到真实邮箱时使用真实验证码发送
• 📡 **API调用监控**:实时显示所有HTTP请求和响应,方便调试
• 🔍 详细日志:支持显示请求体、响应体和调用统计
• 🔔 **通知系统测试**:完整的通知功能测试,支持实时推送和API调用
🎯 多标签页测试说明:
• 每个标签页都有独立的标签页ID,确保账号不冲突
• 每次点击"一键测试"都会生成新的随机账号
• 邮箱格式:test[时间戳后6位][标签页ID][随机码]@[域名] (简洁格式)
• 用户名格式:user[时间戳后6位][标签页ID][随机码]
• 密码自动生成,包含字母数字,符合安全要求
• 支持同时打开多个标签页进行多用户测试
• 每个标签页的Token独立存储,互不干扰
📡 API监控功能说明:
• 🔍 实时监控:自动捕获所有HTTP请求和响应
• 📊 详细信息:显示请求方法、URL、状态码、响应时间
• 📋 请求体显示:可选择显示请求体内容,方便调试
• 📥 响应体显示:可选择显示响应体内容
• 📈 统计信息:实时统计请求总数、成功数、失败数
• 🎨 颜色区分:请求、成功响应、错误响应用不同颜色标识
• ⏱️ 性能分析:显示每个请求的耗时,便于性能优化
🔗 相关链接: 📚 返回 API 文档 📖 WebSocket API 文档 🔧 连接配置信息

🎛️ 功能选择

🔌 连接控制

未连接

🔐 用户认证

💬 消息发送

快速发送: Hello!
快速发送: 大家好!
发送位置更新
清空消息日志
清空API日志
显示调试信息

📋 消息日志

📡 API 调用日志

实时监控前端API调用
📊 统计: 请求: 0, 成功: 0, 失败: 0
`; res.setHeader('Content-Type', 'text/html; charset=utf-8'); res.send(html); } }