moyin
cbf4120ddd
refactor: 更新WebSocket相关测试和location_broadcast模块
...
- 更新location_broadcast网关以支持原生WebSocket
- 修改WebSocket认证守卫和中间件
- 更新相关的测试文件和规范
- 添加WebSocket测试工具
- 完善Zulip服务的测试覆盖
技术改进:
- 统一WebSocket实现架构
- 优化性能监控和限流中间件
- 更新测试用例以适配新的WebSocket实现
2026-01-09 17:02:43 +08:00
moyin
e9dc887c59
feat: 移除Socket.IO依赖,实现原生WebSocket支持
...
- 移除所有Socket.IO相关装饰器和依赖
- 创建CleanWebSocketGateway使用原生WebSocket Server
- 实现完整的多客户端实时同步功能
- 支持地图房间分组管理
- 支持本地和全局消息广播
- 支持位置更新实时同步
- 更新API文档和连接信息
- 完成多客户端同步测试验证
技术改进:
- 使用原生ws库替代Socket.IO,减少依赖
- 实现更高效的消息路由和广播机制
- 添加地图房间自动管理功能
- 提供实时连接统计和监控接口
测试验证:
- 多客户端连接和认证
- 聊天消息实时同步
- 位置更新广播
- 地图房间分组
- 系统状态监控
2026-01-09 17:00:23 +08:00
moyin
0f37130832
refactor:重构业务层服务架构
...
- 重构共享模块,移除冗余DTO定义
- 优化Zulip服务模块,重新组织控制器结构
- 更新用户管理和认证服务
- 移除过时的登录服务测试文件
2026-01-08 23:05:13 +08:00
moyin
bb796a2469
refactor:项目架构重构和命名规范化
...
- 统一文件命名为snake_case格式(kebab-case snake_case)
- 重构zulip模块为zulip_core,明确Core层职责
- 重构user-mgmt模块为user_mgmt,统一命名规范
- 调整模块依赖关系,优化架构分层
- 删除过时的文件和目录结构
- 更新相关文档和配置文件
本次重构涉及大量文件重命名和模块重组,
旨在建立更清晰的项目架构和统一的命名规范。
2026-01-08 00:14:14 +08:00
moyin
b01ea38a17
config:更新 Zulip 模块配置
...
- 注册 ChatController 和 WebSocketDocsController
- 添加聊天系统相关控制器到模块导出
- 完善模块依赖关系配置
2026-01-07 15:06:40 +08:00
moyin
a30ef52c5a
docs:添加 WebSocket API 文档控制器
...
- 实现 /websocket/docs 接口提供完整的 WebSocket API 文档
- 实现 /websocket/message-examples 接口提供消息格式示例
- 包含连接配置、认证要求、事件格式说明
- 提供 JavaScript 和 Godot 客户端连接示例
- 包含故障排除指南和测试工具推荐
2026-01-07 15:05:57 +08:00
moyin
d1fc396db7
api:添加聊天系统 REST API 控制器
...
- 实现 /chat/send 消息发送接口(引导使用 WebSocket)
- 实现 /chat/history 聊天历史查询接口
- 实现 /chat/status 系统状态监控接口
- 实现 /chat/websocket/info WebSocket 连接信息接口
- 包含完整的 Swagger API 文档注解
- 集成 JWT 身份验证和错误处理
2026-01-07 15:05:40 +08:00
moyin
7fd6740090
dto:添加聊天系统相关的数据传输对象
...
- 新增 SendChatMessageDto 用于发送聊天消息请求
- 新增 ChatMessageResponseDto 用于消息发送响应
- 新增 GetChatHistoryDto 用于获取聊天历史请求
- 新增 ChatHistoryResponseDto 用于聊天历史响应
- 新增 SystemStatusResponseDto 用于系统状态查询
- 包含完整的 API 文档注解和数据验证规则
2026-01-07 15:05:21 +08:00
1b380e4bb9
Merge branch 'main' into zulip_dev
2026-01-06 19:07:38 +08:00
angjustinl
8f9a6e7f9d
feat(login, zulip): 引入 JWT 验证并重构 API 密钥管理
...
### 详细变更描述
* **修复 JWT 签名冲突**:重构 `LoginService.generateTokenPair()`,移除载荷(Payload)中的 `iss` (issuer) 与 `aud` (audience) 字段,解决签名校验失败的问题。
* **统一验证逻辑**:更新 `ZulipService` 以调用 `LoginService.verifyToken()`,消除重复的 JWT 校验代码,确保逻辑单一职责化(Single Responsibility)。
* **修复硬编码 API 密钥问题**:消息发送功能不再依赖静态配置,改为从 Redis 动态读取用户真实的 API 密钥。
* **解耦依赖注入**:在 `ZulipModule` 中注入 `AuthModule` 依赖,以支持标准的 Token 验证流程。
* **完善技术文档**:补充了关于 JWT 验证流程及 API 密钥管理逻辑的详细文档。
* **新增测试工具**:添加 `test-get-messages.js` 脚本,用于验证通过 WebSocket 接收消息的功能。
* **更新自动化脚本**:同步更新了 API 密钥验证及用户注册校验的快速测试脚本。
* **端到端功能验证**:确保消息发送逻辑能够正确映射并调用用户真实的 Zulip API 密钥。
2026-01-06 18:51:37 +08:00
moyin
3733717d1f
feat: 添加JWT令牌刷新功能
...
- 新增 @nestjs/jwt 和 jsonwebtoken 依赖包
- 实现 refreshAccessToken 方法支持令牌续期
- 添加 RefreshTokenDto 和 RefreshTokenResponseDto
- 新增 /auth/refresh-token 接口
- 完善令牌刷新的限流和超时控制
- 增加相关单元测试覆盖
- 优化错误处理和日志记录
2026-01-06 16:48:24 +08:00
angjustinl
6ad8d80449
feat(zulip): Add Zulip account management and integrate with auth system
...
- Add ZulipAccountsEntity, repository, and module for persistent Zulip account storage
- Create ZulipAccountService in core layer for managing Zulip account lifecycle
- Integrate Zulip account creation into login flow via LoginService
- Add comprehensive test suite for Zulip account creation during user registration
- Create quick test script for validating registered user Zulip integration
- Update UsersEntity to support Zulip account associations
- Update auth module to include Zulip and ZulipAccounts dependencies
- Fix WebSocket connection protocol from ws:// to wss:// in API documentation
- Enhance LoginCoreService to coordinate Zulip account provisioning during authentication
2026-01-05 17:41:54 +08:00
moyin
e282c9dd16
service:完善Zulip服务的连接管理和错误处理
...
- 增强WebSocket连接状态监控
- 优化错误处理和重连机制
- 完善服务层的日志记录
- 提升连接稳定性和可靠性
支持远程WebSocket连接的服务层改进
2026-01-05 11:14:22 +08:00
moyin
d8b7143f60
websocket:增强Zulip WebSocket网关的调试和监控功能
...
- 添加详细的连接和断开日志记录
- 增强错误处理和异常捕获机制
- 完善客户端状态管理和会话跟踪
- 优化消息处理的调试输出
提升WebSocket连接问题的诊断能力
2026-01-05 11:14:04 +08:00
moyin
2d10131838
refactor:重构Zulip模块按业务功能模块化架构
...
- 将技术实现服务从business层迁移到core层
- 创建src/core/zulip/核心服务模块,包含API客户端、连接池等技术服务
- 保留src/business/zulip/业务逻辑,专注游戏相关的业务规则
- 通过依赖注入实现业务层与核心层的解耦
- 更新模块导入关系,确保架构分层清晰
重构后的架构符合单一职责原则,提高了代码的可维护性和可测试性
2025-12-31 15:44:36 +08:00
angjustinl
3dd5f23d79
fix(zulip): Fix e2e test errors and pdate author attribution across all Zulip integration files
...
- Standardize author attribution across 27 files in the Zulip integration module
- Maintain consistent code documentation and authorship tracking
2025-12-25 23:37:26 +08:00
angjustinl
55cfda0532
feat(zulip): 添加全面的 Zulip 集成系统
...
* **新增 Zulip 模块**:包含完整的集成服务,涵盖客户端池(client pool)、会话管理及事件处理。
* **新增 WebSocket 网关**:用于处理 Zulip 的实时事件监听与双向通信。
* **新增安全服务**:支持 API 密钥加密存储及凭据的安全管理。
* **新增配置管理服务**:支持配置热加载(hot-reload),实现动态配置更新。
* **新增错误处理与监控服务**:提升系统的可靠性与可观测性。
* **新增消息过滤服务**:用于内容校验及速率限制(流控)。
* **新增流初始化与会话清理服务**:优化资源管理与回收。
* **完善测试覆盖**:包含单元测试及端到端(e2e)集成测试。
* **完善详细文档**:包括 API 参考手册、配置指南及集成概述。
* **新增地图配置系统**:实现游戏地点与 Zulip Stream(频道)及 Topic(话题)的逻辑映射。
* **新增环境变量配置**:涵盖 Zulip 服务器地址、身份验证及监控相关设置。
* **更新 App 模块**:注册并启用新的 Zulip 集成模块。
* **更新 Redis 接口**:以支持增强型的会话管理功能。
* **实现 WebSocket 协议支持**:确保与 Zulip 之间的实时双向通信。
2025-12-25 22:22:30 +08:00