Files
whale-town-end/src/business/chat/README.md
moyin 30a4a2813d feat(chat): 新增聊天业务模块
范围:src/business/chat/
- 实现 ChatService 聊天业务服务(登录/登出/消息发送/位置更新)
- 实现 ChatSessionService 会话管理服务(会话创建/销毁/上下文注入)
- 实现 ChatFilterService 消息过滤服务(频率限制/敏感词/权限验证)
- 实现 ChatCleanupService 会话清理服务(定时清理过期会话)
- 添加完整的单元测试覆盖
- 添加模块 README 文档
2026-01-14 19:17:32 +08:00

4.9 KiB

Chat 聊天业务模块

Chat 模块是游戏服务器的核心聊天业务层,负责实现游戏内实时聊天功能,包括玩家会话管理、消息过滤、位置追踪和 Zulip 异步同步。该模块通过 SESSION_QUERY_SERVICE 接口向其他业务模块提供会话查询能力。

对外提供的接口

ChatService

handlePlayerLogin(request: PlayerLoginRequest): Promise

处理玩家登录,验证 Token 并创建游戏会话。

handlePlayerLogout(socketId: string, reason?: string): Promise

处理玩家登出,清理会话和相关资源。

sendChatMessage(request: ChatMessageRequest): Promise

发送聊天消息,包含内容过滤、实时广播和 Zulip 异步同步。

updatePlayerPosition(request: PositionUpdateRequest): Promise

更新玩家在游戏地图中的位置。

getChatHistory(query: object): Promise