# Zulip Gateway Module ## 📋 模块概述 Zulip网关模块,负责提供Zulip相关功能的HTTP API接口。 ## 🏗️ 架构定位 - **层级**: Gateway层(网关层) - **职责**: HTTP协议处理、API接口暴露、请求验证 - **依赖**: Business层的ZulipModule ## 📁 文件结构 ``` src/gateway/zulip/ ├── dynamic_config.controller.ts # 动态配置管理API ├── websocket_docs.controller.ts # WebSocket文档API ├── websocket_openapi.controller.ts # WebSocket OpenAPI规范 ├── websocket_test.controller.ts # WebSocket测试工具 ├── zulip_accounts.controller.ts # Zulip账号管理API ├── zulip.gateway.module.ts # 网关模块定义 └── README.md # 本文档 ``` ## 🎯 主要功能 ### 1. 动态配置管理 (DynamicConfigController) - 获取当前配置 - 同步远程配置 - 配置状态查询 - 备份管理 ### 2. WebSocket文档 (WebSocketDocsController) - 提供WebSocket API使用文档 - 消息格式示例 - 连接示例代码 ### 3. WebSocket OpenAPI (WebSocketOpenApiController) - 在Swagger中展示WebSocket接口 - 提供测试工具推荐 - 架构信息展示 ### 4. WebSocket测试工具 (WebSocketTestController) - 交互式WebSocket测试页面 - 支持连接、认证、消息发送测试 - API调用监控功能 ### 5. Zulip账号管理 (ZulipAccountsController) - Zulip账号关联CRUD操作 - 账号验证和统计 - 批量管理功能 ## 🔗 依赖关系 ``` ZulipGatewayModule ├─ imports: ZulipModule (Business层) ├─ imports: AuthModule (Business层) └─ controllers: [所有Controller] ``` ## 📝 使用示例 ### 在AppModule中导入 ```typescript import { ZulipGatewayModule } from './gateway/zulip/zulip.gateway.module'; @Module({ imports: [ // ... 其他模块 ZulipGatewayModule, ], }) export class AppModule {} ``` ## 🚨 架构规范 ### Gateway层职责 - ✅ HTTP协议处理 - ✅ 请求参数验证(DTO) - ✅ 调用Business层服务 - ✅ 响应格式转换 - ✅ 错误处理和转换 ### Gateway层禁止 - ❌ 包含业务逻辑 - ❌ 直接访问数据库 - ❌ 直接调用Core层(应通过Business层) - ❌ 包含复杂的业务规则 ## 📚 相关文档 - [架构文档](../../docs/ARCHITECTURE.md) - [Zulip Business模块](../../business/zulip/README.md) - [开发指南](../../docs/development/backend_development_guide.md) ## 🔄 最近更新 - 2026-01-14: 架构优化 - 从Business层分离Controller到Gateway层 (moyin) ## 👥 维护者 - moyin