/** * WebSocket 测试页面控制器 * * 功能描述: * - 提供一个简单的WebSocket测试界面,可以直接在浏览器中测试WebSocket连接 * - 包含API调用监控功能,帮助前端开发者了解接口调用情况 * - 支持聊天测试和通知系统测试两种模式 * * 架构定位: * - 层级:Gateway层(网关层) * - 职责:HTTP协议处理、测试页面暴露 * - 依赖:无业务逻辑依赖,纯测试工具 * * 职责分离: * - 测试界面:提供交互式WebSocket测试页面 * - 连接测试:支持WebSocket连接、认证、消息发送测试 * - API监控:实时显示HTTP请求和响应信息 * - 通知测试:提供通知系统功能测试 * * 最近修改: * - 2026-01-14: 架构优化 - 从Business层迁移到Gateway层,符合四层架构规范 (修改者: moyin) * - 2026-01-14: 代码规范优化 - 完善文件头注释和职责分离描述 (修改者: moyin) * - 2026-01-09: 功能新增 - 初始创建WebSocket测试页面控制器 (修改者: moyin) * * @author moyin * @version 2.0.0 * @since 2026-01-09 * @lastModified 2026-01-14 */ 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 = `
🚀 一键测试: 点击"🚀 一键测试"按钮,系统会自动生成随机账号并完成所有步骤
🔐 认证方式: 支持密码登录和验证码登录两种方式
🎲 随机账号: 自动生成符合要求的随机测试账号,方便多用户测试
🔧 灵活配置: 可以自定义用户信息、使用默认账号或生成随机账号
📡 API监控: 实时显示所有HTTP请求,帮助前端开发者了解接口调用情况
WebSocket地址: wss://whaletownend.xinghangee.icu/game