/** * Zulip集成业务模块 * * 功能描述: * - 整合Zulip集成相关的业务逻辑和控制器 * - 提供完整的Zulip集成业务功能模块 * - 实现游戏与Zulip的业务逻辑协调 * - 支持WebSocket网关、会话管理、消息过滤等业务功能 * * 架构设计: * - 业务逻辑层:处理游戏相关的业务规则和流程 * - 核心服务层:封装技术实现细节和第三方API调用 * - 通过依赖注入实现业务层与技术层的解耦 * * 业务服务: * - ZulipService: 主协调服务,处理登录、消息发送等核心业务流程 * - ZulipWebSocketGateway: WebSocket统一网关,处理客户端连接 * - SessionManagerService: 会话状态管理和业务逻辑 * - MessageFilterService: 消息过滤和业务规则控制 * * 核心服务(通过ZulipCoreModule提供): * - ZulipClientService: Zulip REST API封装 * - ZulipClientPoolService: 客户端池管理 * - ConfigManagerService: 配置管理和热重载 * - ZulipEventProcessorService: 事件处理和消息转换 * - 其他技术支持服务 * * 依赖模块: * - ZulipCoreModule: Zulip核心技术服务 * - LoginCoreModule: 用户认证和会话管理 * - RedisModule: 会话状态缓存 * - LoggerModule: 日志记录服务 * * 使用场景: * - 游戏客户端通过WebSocket连接进行实时聊天 * - 游戏内消息与Zulip社群的双向同步 * - 基于位置的聊天上下文管理 * - 业务规则驱动的消息过滤和权限控制 * * @author angjustinl * @version 2.0.0 * @since 2025-12-31 */ import { Module } from '@nestjs/common'; import { ZulipWebSocketGateway } from './zulip_websocket.gateway'; import { ZulipService } from './zulip.service'; import { SessionManagerService } from './services/session_manager.service'; import { MessageFilterService } from './services/message_filter.service'; import { ZulipEventProcessorService } from './services/zulip_event_processor.service'; import { SessionCleanupService } from './services/session_cleanup.service'; import { ZulipCoreModule } from '../../core/zulip/zulip-core.module'; import { RedisModule } from '../../core/redis/redis.module'; import { LoggerModule } from '../../core/utils/logger/logger.module'; import { LoginCoreModule } from '../../core/login_core/login_core.module'; @Module({ imports: [ // Zulip核心服务模块 - 提供技术实现相关的核心服务 ZulipCoreModule, // Redis模块 - 提供会话状态缓存和数据存储 RedisModule, // 日志模块 - 提供统一的日志记录服务 LoggerModule, // 登录模块 - 提供用户认证和Token验证 LoginCoreModule, ], providers: [ // 主协调服务 - 整合各子服务,提供统一业务接口 ZulipService, // 会话管理服务 - 维护Socket_ID与Zulip_Queue_ID的映射关系 SessionManagerService, // 消息过滤服务 - 敏感词过滤、频率限制、权限验证 MessageFilterService, // Zulip事件处理服务 - 处理Zulip事件队列消息 ZulipEventProcessorService, // 会话清理服务 - 定时清理过期会话 SessionCleanupService, // WebSocket网关 - 处理游戏客户端WebSocket连接 ZulipWebSocketGateway, ], controllers: [], exports: [ // 导出主服务供其他模块使用 ZulipService, // 导出会话管理服务 SessionManagerService, // 导出消息过滤服务 MessageFilterService, // 导出事件处理服务 ZulipEventProcessorService, // 导出会话清理服务 SessionCleanupService, // 导出WebSocket网关 ZulipWebSocketGateway, ], }) export class ZulipModule {}