/** * 位置广播业务模块 * * 功能描述: * - 整合位置广播系统的所有业务组件 * - 配置模块依赖关系和服务注入 * - 提供统一的模块导出接口 * - 支持模块化的系统架构 * * 职责分离: * - 模块配置:定义模块的提供者、控制器和导出 * - 依赖管理:管理模块间的依赖关系 * - 服务注入:配置依赖注入和服务绑定 * - 接口暴露:向外部模块提供服务接口 * * 技术实现: * - NestJS模块:使用@Module装饰器定义模块 * - 依赖注入:配置服务的依赖注入关系 * - 模块导入:导入所需的核心模块和外部模块 * - 接口导出:导出供其他模块使用的服务 * * 最近修改: * - 2026-01-08: 功能新增 - 创建位置广播业务模块 * * @author moyin * @version 1.0.0 * @since 2026-01-08 * @lastModified 2026-01-08 */ import { Module } from '@nestjs/common'; // 导入核心模块 import { LocationBroadcastCoreModule } from '../../core/location_broadcast_core/location_broadcast_core.module'; import { UserProfilesModule } from '../../core/db/user_profiles/user_profiles.module'; import { LoginCoreModule } from '../../core/login_core/login_core.module'; // 导入业务服务 import { LocationBroadcastService, LocationSessionService, LocationPositionService, } from './services'; import { CleanupService } from './services/cleanup.service'; // 导入控制器 import { LocationBroadcastController } from './controllers/location_broadcast.controller'; import { HealthController } from './controllers/health.controller'; // 导入WebSocket网关 import { LocationBroadcastGateway } from './location_broadcast.gateway'; // 导入守卫 import { WebSocketAuthGuard } from './websocket_auth.guard'; // 导入中间件 import { RateLimitMiddleware } from './rate_limit.middleware'; import { PerformanceMonitorMiddleware } from './performance_monitor.middleware'; /** * 位置广播业务模块 * * 模块职责: * - 提供完整的位置广播业务功能 * - 集成WebSocket实时通信和HTTP API * - 管理会话、位置和用户相关的业务逻辑 * - 提供统一的认证和权限验证 * * 模块结构: * - 服务层:业务逻辑处理和数据协调 * - 控制器层:HTTP API端点和请求处理 * - 网关层:WebSocket实时通信处理 * - 守卫层:认证和权限验证 */ @Module({ imports: [ // 导入核心模块 LocationBroadcastCoreModule, UserProfilesModule, LoginCoreModule, ], providers: [ // 业务服务 LocationBroadcastService, LocationSessionService, LocationPositionService, CleanupService, // 中间件 RateLimitMiddleware, PerformanceMonitorMiddleware, // WebSocket网关 LocationBroadcastGateway, // 守卫 WebSocketAuthGuard, ], controllers: [ // HTTP API控制器 LocationBroadcastController, HealthController, ], exports: [ // 导出业务服务供其他模块使用 LocationBroadcastService, LocationSessionService, LocationPositionService, CleanupService, // 导出中间件 RateLimitMiddleware, PerformanceMonitorMiddleware, // 导出WebSocket网关 LocationBroadcastGateway, ], }) export class LocationBroadcastModule { constructor() { console.log('位置广播业务模块已初始化'); } }