feat:实现位置广播系统
- 添加位置广播核心控制器和服务 - 实现健康检查和位置同步功能 - 添加WebSocket实时位置更新支持 - 完善位置广播的测试覆盖
This commit is contained in:
123
src/business/location_broadcast/location_broadcast.module.ts
Normal file
123
src/business/location_broadcast/location_broadcast.module.ts
Normal file
@@ -0,0 +1,123 @@
|
||||
/**
|
||||
* 位置广播业务模块
|
||||
*
|
||||
* 功能描述:
|
||||
* - 整合位置广播系统的所有业务组件
|
||||
* - 配置模块依赖关系和服务注入
|
||||
* - 提供统一的模块导出接口
|
||||
* - 支持模块化的系统架构
|
||||
*
|
||||
* 职责分离:
|
||||
* - 模块配置:定义模块的提供者、控制器和导出
|
||||
* - 依赖管理:管理模块间的依赖关系
|
||||
* - 服务注入:配置依赖注入和服务绑定
|
||||
* - 接口暴露:向外部模块提供服务接口
|
||||
*
|
||||
* 技术实现:
|
||||
* - 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('位置广播业务模块已初始化');
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user