docs(zulip): 完善Zulip业务模块功能文档
范围: src/business/zulip/README.md - 补充对外提供的接口章节(14个公共方法) - 添加使用的项目内部依赖说明(7个依赖) - 完善核心特性描述(5个特性) - 添加潜在风险评估(4个风险及缓解措施) - 优化文档结构和内容完整性
This commit is contained in:
@@ -7,6 +7,12 @@
|
||||
* - 实现空间过滤和消息分发
|
||||
* - 支持区域广播功能
|
||||
*
|
||||
* 职责分离:
|
||||
* - 事件轮询:管理Zulip事件队列的轮询和处理
|
||||
* - 消息转换:将Zulip消息转换为游戏协议格式
|
||||
* - 空间过滤:根据地图确定消息接收者
|
||||
* - 消息分发:通过WebSocket向目标玩家发送消息
|
||||
*
|
||||
* 主要方法:
|
||||
* - startEventProcessing(): 启动事件处理循环
|
||||
* - processMessageEvent(): 处理Zulip消息事件
|
||||
@@ -20,18 +26,27 @@
|
||||
* - 向游戏客户端分发消息
|
||||
*
|
||||
* 依赖模块:
|
||||
* - SessionManagerService: 会话管理服务
|
||||
* - ISessionQueryService: 会话查询接口(通过 Core 层接口解耦)
|
||||
* - ConfigManagerService: 配置管理服务
|
||||
* - ZulipClientPoolService: Zulip客户端池服务
|
||||
* - AppLoggerService: 日志记录服务
|
||||
*
|
||||
* 最近修改:
|
||||
* - 2026-01-14: 代码质量优化 - 移除未使用的IGameSession导入 (修改者: moyin)
|
||||
* - 2026-01-14: 代码规范优化 - 完善文件头注释和职责分离描述 (修改者: moyin)
|
||||
* - 2025-12-25: 功能新增 - 初始创建Zulip事件处理服务 (修改者: angjustinl)
|
||||
*
|
||||
* @author angjustinl
|
||||
* @version 1.0.0
|
||||
* @version 1.1.2
|
||||
* @since 2025-12-25
|
||||
* @lastModified 2026-01-14
|
||||
*/
|
||||
|
||||
import { Injectable, OnModuleDestroy, Inject, forwardRef, Logger } from '@nestjs/common';
|
||||
import { SessionManagerService } from './session_manager.service';
|
||||
import { Injectable, OnModuleDestroy, Inject, Logger } from '@nestjs/common';
|
||||
import {
|
||||
ISessionQueryService,
|
||||
SESSION_QUERY_SERVICE,
|
||||
} from '../../../core/session_core/session_core.interfaces';
|
||||
import { IZulipConfigService, IZulipClientPoolService } from '../../../core/zulip_core/zulip_core.interfaces';
|
||||
|
||||
/**
|
||||
@@ -129,7 +144,8 @@ export class ZulipEventProcessorService implements OnModuleDestroy {
|
||||
private readonly MAX_EVENTS_PER_POLL = 100;
|
||||
|
||||
constructor(
|
||||
private readonly sessionManager: SessionManagerService,
|
||||
@Inject(SESSION_QUERY_SERVICE)
|
||||
private readonly sessionManager: ISessionQueryService,
|
||||
@Inject('ZULIP_CONFIG_SERVICE')
|
||||
private readonly configManager: IZulipConfigService,
|
||||
@Inject('ZULIP_CLIENT_POOL_SERVICE')
|
||||
|
||||
Reference in New Issue
Block a user