Files
whale-town-end/src/gateway/zulip/zulip.gateway.module.ts
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

59 lines
1.9 KiB
TypeScript
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
/**
* Zulip网关模块
*
* 功能描述:
* - 提供Zulip相关的HTTP API接口
* - 提供WebSocket测试和文档功能
* - 提供动态配置管理接口
* - 提供Zulip账号管理接口
*
* 架构说明:
* - Gateway层负责HTTP协议处理和API接口暴露
* - 依赖Business层调用ZulipModule提供的业务服务
* - 职责分离:只做协议转换,不包含业务逻辑
*
* 最近修改:
* - 2026-01-14: 架构优化 - 从Business层分离Controller到Gateway层符合四层架构规范 (修改者: moyin)
*
* @author moyin
* @version 1.0.0
* @since 2026-01-14
* @lastModified 2026-01-14
*/
import { Module } from '@nestjs/common';
// Gateway层控制器
import { DynamicConfigController } from './dynamic_config.controller';
import { WebSocketDocsController } from './websocket_docs.controller';
import { WebSocketOpenApiController } from './websocket_openapi.controller';
import { WebSocketTestController } from './websocket_test.controller';
import { ZulipAccountsController } from './zulip_accounts.controller';
// 依赖Business层模块
import { ZulipModule } from '../../business/zulip/zulip.module';
import { AuthModule } from '../../business/auth/auth.module';
import { LoginCoreModule } from '../../core/login_core/login_core.module';
@Module({
imports: [
// 导入Business层的Zulip模块
ZulipModule,
// 导入认证模块用于JwtAuthGuard
AuthModule,
// 导入登录核心模块JwtAuthGuard依赖
LoginCoreModule,
],
controllers: [
// 动态配置管理控制器
DynamicConfigController,
// WebSocket API文档控制器
WebSocketDocsController,
// WebSocket OpenAPI规范控制器
WebSocketOpenApiController,
// WebSocket测试工具控制器
WebSocketTestController,
// Zulip账号关联管理控制器
ZulipAccountsController,
],
})
export class ZulipGatewayModule {}