Files
whale-town-end/src/gateway/zulip
moyin 8132300e38 fix:修复模块依赖注入问题并补充架构检查规范
修复问题:
- ZulipModule:修正exports配置,导出ZulipCoreModule而非单独服务
- ZulipModule:添加CacheModule.register()解决CACHE_MANAGER依赖
- ZulipGatewayModule:添加LoginCoreModule解决JwtAuthGuard依赖

文档补充(step4-architecture-layer.md):
- 新增「应用启动验证」强制检查步骤
- 添加常见启动错误示例和修复方案
- 明确启动验证是步骤4的强制完成条件
- 补充启动验证检查清单和失败处理流程
2026-01-15 11:09:46 +08:00
..

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中导入

import { ZulipGatewayModule } from './gateway/zulip/zulip.gateway.module';

@Module({
  imports: [
    // ... 其他模块
    ZulipGatewayModule,
  ],
})
export class AppModule {}

🚨 架构规范

Gateway层职责

  • HTTP协议处理
  • 请求参数验证DTO
  • 调用Business层服务
  • 响应格式转换
  • 错误处理和转换

Gateway层禁止

  • 包含业务逻辑
  • 直接访问数据库
  • 直接调用Core层应通过Business层
  • 包含复杂的业务规则

📚 相关文档

🔄 最近更新

  • 2026-01-14: 架构优化 - 从Business层分离Controller到Gateway层 (moyin)

👥 维护者

  • moyin