Commit Graph

182 Commits

Author SHA1 Message Date
moyin
f840d3e708 feat:添加WebSocket OpenAPI文档控制器
- 新增专门的WebSocket API文档控制器
- 提供详细的连接信息和配置说明
- 包含完整的消息格式文档和示例
- 添加架构信息和测试工具指南
- 支持多种编程语言的客户端示例
2026-01-09 17:47:04 +08:00
moyin
ef618d5222 docs:更新WebSocket文档示例代码
- 将Socket.IO示例替换为原生WebSocket代码
- 更新JavaScript和Godot客户端示例
- 统一使用/game路径的WebSocket连接
- 简化示例代码,移除复杂的Godot逻辑
2026-01-09 17:46:49 +08:00
moyin
9e0e07b07c docs:更新主应用OpenAPI配置
- 更新WebSocket连接地址为/game路径
- 添加开发和生产环境的WebSocket服务器配置
- 完善WebSocket连接说明文档
- 统一API文档中的WebSocket信息
2026-01-09 17:46:32 +08:00
moyin
3904a782c7 api:更新WebSocket连接信息接口
- 更新WebSocket URL为统一的/game路径
- 添加协议类型和路径信息
- 移除未使用的ZulipWebSocketGateway导入
- 完善WebSocket连接信息的API响应
2026-01-09 17:46:12 +08:00
moyin
75ac7ac0f8 websocket:统一WebSocket网关配置
- 为CleanWebSocketGateway添加/game路径配置
- 支持通过环境变量WEBSOCKET_PORT配置端口
- 移除ZulipWebSocketGateway的模块引用
- 统一使用CleanWebSocketGateway作为唯一WebSocket网关
- 更新模块注释,反映当前架构
2026-01-09 17:45:51 +08:00
moyin
5f662ef091 feat: 完善管理员系统和用户管理模块
- 更新管理员控制器和数据库管理功能
- 完善管理员操作日志系统
- 添加全面的属性测试覆盖
- 优化用户管理和用户档案服务
- 更新代码检查规范文档

功能改进:
- 增强管理员权限验证
- 完善操作日志记录
- 优化数据库管理接口
- 提升系统安全性和可维护性
2026-01-09 17:05:08 +08:00
moyin
8816b29b0a chore: 更新项目配置和核心服务
- 更新package.json和jest配置
- 更新main.ts启动配置
- 完善用户管理和数据库服务
- 更新安全核心模块
- 优化Zulip核心服务

配置改进:
- 统一项目依赖管理
- 优化测试配置
- 完善服务模块化架构
2026-01-09 17:03:57 +08:00
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
ece4e6f5a2 Merge pull request 'feature/admin-system-and-location-broadcast' (#36) from feature/admin-system-and-location-broadcast into main
Reviewed-on: datawhale/whale-town-end#36
2026-01-08 23:10:09 +08:00
moyin
931ccc4440 config:添加TypeScript构建配置
- 添加tsconfig.build.json构建配置文件
2026-01-08 23:06:56 +08:00
moyin
72bd69655e feat:集成新模块到应用主模块
- 将位置广播模块集成到主应用
- 更新模块依赖关系
2026-01-08 23:06:30 +08:00
moyin
71bc317c57 test:添加位置广播系统端到端测试
- 添加并发用户测试场景
- 实现数据库恢复集成测试
- 重命名登录测试文件以符合命名规范
2026-01-08 23:06:11 +08:00
moyin
c31cbe559d feat:实现位置广播系统
- 添加位置广播核心控制器和服务
- 实现健康检查和位置同步功能
- 添加WebSocket实时位置更新支持
- 完善位置广播的测试覆盖
2026-01-08 23:05:52 +08:00
moyin
6924416bbd feat:实现管理员系统核心功能
- 添加管理员数据库管理控制器和服务
- 实现管理员操作日志记录系统
- 添加数据库异常处理过滤器
- 完善管理员权限验证和响应格式
- 添加全面的属性测试覆盖
2026-01-08 23:05:34 +08:00
moyin
0f37130832 refactor:重构业务层服务架构
- 重构共享模块,移除冗余DTO定义
- 优化Zulip服务模块,重新组织控制器结构
- 更新用户管理和认证服务
- 移除过时的登录服务测试文件
2026-01-08 23:05:13 +08:00
moyin
c2a1c6862d refactor:重构核心模块架构
- 重构用户管理服务,优化内存服务实现
- 简化zulip_core模块结构,移除冗余配置和接口
- 更新用户状态枚举和实体定义
- 优化登录核心服务的测试覆盖
2026-01-08 23:04:49 +08:00
moyin
569a69c00e config:更新项目配置文件
- 优化Jest测试配置
- 更新package.json依赖和脚本
2026-01-08 23:04:17 +08:00
moyin
dd5cc48b49 docs:更新代码检查规范和API文档
- 更新AI代码检查规范简洁版
- 完善开发者代码检查规范
- 扩展OpenAPI文档,添加新的接口定义
2026-01-08 23:03:40 +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
4fa4bd1a70 Merge pull request 'release/v2.0.0' (#35) from release/v2.0.0 into main
Reviewed-on: datawhale/whale-town-end#35
2026-01-07 15:12:10 +08:00
moyin
2bcbaeb030 chore:清理不需要的测试文件和临时文档
- 删除 test_zulip.js、test_zulip_registration.js、test_zulip_user_management.js
- 删除 full_diagnosis.js 诊断脚本
- 删除 docs/development/backend_development_guide.md 重复文档
- 保持代码库整洁,移除临时测试文件
2026-01-07 15:07:44 +08:00
moyin
dd91264d0c service:完善用户服务功能
- 优化用户查询和管理逻辑
- 更新相关单元测试
- 完善内存模式用户服务实现
2026-01-07 15:07:18 +08:00
moyin
003091494f docs:升级 OpenAPI 文档配置到 v2.0.0
- 版本号从 1.1.1 升级到 2.0.0
- 新增聊天系统 (chat) API 标签和说明
- 完善 API 文档描述,包含 WebSocket 连接指南
- 添加 JWT Token 格式要求说明
- 新增开发环境和生产环境服务器配置
- 包含 Zulip 集成和地图系统说明
2026-01-07 15:07:01 +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
moyin
4bda65d593 fix:修复 ZulipAccounts 实体索引配置错误
- 将索引字段从数据库列名改为实体属性名
- 修复 zulip_user_id 和 zulip_email 索引配置
- 解决服务启动时的 TypeORM 索引错误
2026-01-07 15:04:57 +08:00
179f0f66eb Merge pull request 'feat(login, zulip): 引入 JWT 验证并重构 API 密钥管理' (#34) from ANGJustinl/whale-town-end:zulip_dev into main
Reviewed-on: datawhale/whale-town-end#34
2026-01-07 11:33:24 +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
07d9c736fa Merge pull request 'feat: 添加JWT认证系统和Zulip用户管理服务' (#32) from feature/jwt-auth-and-zulip-services into main
Reviewed-on: datawhale/whale-town-end#32
2026-01-06 16:54:59 +08:00
5e1afc2875 Merge branch 'main' into feature/jwt-auth-and-zulip-services 2026-01-06 16:54:52 +08:00
moyin
3733717d1f feat: 添加JWT令牌刷新功能
- 新增 @nestjs/jwt 和 jsonwebtoken 依赖包
- 实现 refreshAccessToken 方法支持令牌续期
- 添加 RefreshTokenDto 和 RefreshTokenResponseDto
- 新增 /auth/refresh-token 接口
- 完善令牌刷新的限流和超时控制
- 增加相关单元测试覆盖
- 优化错误处理和日志记录
2026-01-06 16:48:24 +08:00
moyin
470b0b8dbf feat: 添加JWT认证系统和Zulip用户管理服务
- 新增JWT认证守卫(JwtAuthGuard)和当前用户装饰器(CurrentUser)
- 添加JWT使用示例和完整的认证流程文档
- 实现Zulip用户管理服务,支持用户查询、验证和管理
- 实现Zulip用户注册服务,支持新用户创建和注册流程
- 添加完整的单元测试覆盖
- 新增真实环境测试脚本,验证Zulip API集成
- 更新.gitignore,排除.kiro目录

主要功能:
- JWT令牌验证和用户信息提取
- 用户存在性检查和信息获取
- Zulip API集成和错误处理
- 完整的测试覆盖和文档
2026-01-06 15:17:05 +08:00
c2ecb3c1a7 Merge pull request 'main' (#2) from main into zulip_dev
Reviewed-on: #2
2026-01-05 17:43:18 +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
fcb81f80d9 Merge pull request 'feat/websocket-remote-connection-fix' (#31) from feat/websocket-remote-connection-fix into main
Reviewed-on: datawhale/whale-town-end#31
2026-01-05 11:23:51 +08:00
065d3f2fc6 Merge branch 'main' into feat/websocket-remote-connection-fix 2026-01-05 11:23:42 +08:00
moyin
f335b72f6d chore:删除多余的文档 2026-01-05 11:23:07 +08:00
moyin
3bf1b6f474 config:添加nginx WebSocket代理配置文件
- nginx.conf: 当前生产环境的nginx配置
- nginx_complete_fix.conf: 完整的WebSocket支持配置模板

包含WebSocket升级映射、HTTP重定向、SSL配置等完整方案
支持ws://到wss://的协议升级和重定向处理
2026-01-05 11:17:16 +08:00
moyin
38f9f81b6c test:添加WebSocket连接诊断和测试工具集
- test_zulip.js: Zulip集成功能的端到端测试脚本
- full_diagnosis.js: 全面的WebSocket连接诊断工具
- test_protocol_difference.js: 不同协议(ws/wss/http/https)的对比测试
- test_redirect_and_websocket.js: HTTP重定向和WebSocket升级测试
- test_websocket_handshake_redirect.js: WebSocket握手重定向机制验证
- websocket_with_redirect_support.js: 支持重定向的WebSocket连接实现

提供完整的WebSocket连接问题诊断和解决方案
2026-01-05 11:16:52 +08:00
moyin
4818279fac chore:更新项目依赖和配置
- 更新WebSocket相关依赖版本
- 优化项目配置以支持远程连接
- 确保依赖兼容性和安全性
2026-01-05 11:15:30 +08:00
moyin
270e7e5bd2 test:大幅扩展Zulip核心服务的测试覆盖率
- API密钥安全服务:新增422个测试用例,覆盖加密、解密、验证等核心功能
- 配置管理服务:新增515个测试用例,覆盖配置加载、验证、更新等场景
- 错误处理服务:新增455个测试用例,覆盖各种错误场景和恢复机制
- 监控服务:新增360个测试用例,覆盖性能监控、健康检查等功能

总计新增1752个测试用例,显著提升代码质量和可靠性
2026-01-05 11:14:57 +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
6002f53cbc config:优化WebSocket远程连接的CORS配置
- 明确指定允许的域名列表,包括生产环境域名
- 添加Vite开发服务器端口支持
- 完善CORS方法和头部配置,确保WebSocket握手正常
- 支持xinghangee.icu子域名的通配符匹配

修复远程域名WebSocket连接问题的核心配置
2026-01-05 11:13:43 +08:00
9cb172d645 Merge pull request 'refactor:重构安全模块架构,将security模块迁移至core层' (#30) from refactor/security-core-module into main
Reviewed-on: datawhale/whale-town-end#30
2026-01-04 19:35:10 +08:00
moyin
70c020a97c refactor:重构安全模块架构,将security模块迁移至core层
- 将src/business/security模块迁移至src/core/security_core
- 更新模块导入路径和依赖关系
- 统一安全相关组件的命名规范(content_type.middleware.ts)
- 清理过时的配置文件和文档
- 更新架构文档以反映新的模块结构

此次重构符合业务功能模块化架构设计原则,将技术基础设施
服务统一放置在core层,提高代码组织的清晰度和可维护性。
2026-01-04 19:34:16 +08:00