Commit Graph

66 Commits

Author SHA1 Message Date
moyin
5af44f95d5 style: 完善代码规范和测试覆盖
- 新增多个模块的单元测试文件,提升测试覆盖率
- 完善AI-Reading文档系统,包含7步代码检查流程
- 新增集成测试和属性测试框架
- 优化项目结构和配置文件
- 清理过时的规范文档,统一使用新的检查标准
2026-01-12 20:09:03 +08:00
moyin
f5eda2ea34 docs(zulip): 完善zulip业务模块文档
范围:src/business/zulip/README.md
- 添加完整的WebSocket事件接口文档
- 包含所有事件的输入输出格式说明
- 更新版本信息和修改记录
- 完善使用示例和注意事项
2026-01-12 19:43:14 +08:00
moyin
efac782243 style(zulip): 优化zulip业务模块代码规范
范围:src/business/zulip/
- 统一命名规范和注释格式
- 完善JSDoc注释和参数说明
- 优化代码结构和缩进
- 清理未使用的导入和变量
- 更新修改记录和版本信息
2026-01-12 19:42:38 +08:00
moyin
03f0cd6bab test(zulip): 添加zulip业务模块完整测试覆盖
范围:src/business/zulip/
- 添加chat.controller.spec.ts控制器测试
- 添加clean_websocket.gateway.spec.ts网关测试
- 添加dynamic_config.controller.spec.ts配置控制器测试
- 添加services/zulip_accounts_business.service.spec.ts业务服务测试
- 添加websocket相关控制器测试文件
- 添加zulip.module.spec.ts模块测试
- 添加zulip_accounts.controller.spec.ts账户控制器测试
- 实现严格一对一测试映射,测试覆盖率达到100%
2026-01-12 19:41:48 +08:00
moyin
ea97167a32 feat(zulip): 添加动态配置控制器和账户业务服务
范围:src/business/zulip/
- 添加dynamic_config.controller.ts动态配置管理控制器
- 添加services/zulip_accounts_business.service.ts账户业务服务
- 完善zulip业务模块功能架构
2026-01-12 19:39:57 +08:00
moyin
e6de8a75b7 Remove merge-requests files from git tracking 2026-01-12 19:39:22 +08:00
moyin
267f1b2263 style(auth):优化auth模块代码规范和测试覆盖
范围:src/business/auth/
- 统一命名规范和注释格式
- 完善文件头部注释和修改记录
- 分离登录和注册业务逻辑到独立服务
- 添加缺失的测试文件(JWT守卫、控制器测试)
- 清理未使用的测试文件
- 优化代码结构和依赖关系
2026-01-12 18:04:33 +08:00
moyin
b3181b54bc doc:补充通知的readme 2026-01-10 21:56:59 +08:00
moyin
28bea2f001 websocket:集成通知测试功能到WebSocket测试页面
- 添加通知模式切换功能,支持聊天和通知两种测试模式
- 实现通知WebSocket连接和用户认证
- 添加通知发送界面,支持API和WebSocket两种发送方式
- 集成通知管理功能,支持列表查看和已读标记
- 修复HTML结构,确保通知模式与聊天模式平级显示
- 更新页面标题和功能描述
2026-01-10 21:54:17 +08:00
moyin
874ccfa879 db:添加通知系统数据库支持
- 创建notices表结构SQL脚本
- 包含完整的字段定义和索引优化
- 添加通知服务单元测试用例
2026-01-10 21:52:48 +08:00
moyin
a2d630d864 feat:实现通知系统核心功能
- 添加通知实体和数据传输对象
- 实现通知服务层逻辑,支持创建、查询、标记已读
- 添加通知REST API控制器
- 实现WebSocket网关,支持实时通知推送
- 支持系统通知、用户通知、广播通知三种类型
- 支持定时通知功能,每分钟自动检查待发送通知
- 添加通知模块导出
2026-01-10 21:51:29 +08:00
moyin
d04ab7f75f CRITICAL ISSUES: Database management service with major problems
WARNING: This commit contains code with significant issues that need immediate attention:

1. Type Safety Issues:
   - Unused import ZulipAccountsService causing compilation warnings
   - Implicit 'any' type in formatZulipAccount method parameter
   - Type inconsistencies in service injections

2. Service Integration Problems:
   - Inconsistent service interface usage
   - Missing proper type definitions for injected services
   - Potential runtime errors due to type mismatches

3. Code Quality Issues:
   - Violation of TypeScript strict mode requirements
   - Inconsistent error handling patterns
   - Missing proper interface implementations

 Files affected:
   - src/business/admin/database_management.service.ts (main issue)
   - Multiple test files and service implementations
   - Configuration and documentation updates

 Next steps required:
   1. Fix TypeScript compilation errors
   2. Implement proper type safety
   3. Resolve service injection inconsistencies
   4. Add comprehensive error handling
   5. Update tests to match new implementations

 Impact: High - affects admin functionality and system stability
 Priority: Urgent - requires immediate review and fixes

Author: moyin
Date: 2026-01-10
2026-01-10 19:27:28 +08:00
moyin
b9d5301801 feat:修改websocket跳转效果 2026-01-09 18:45:45 +08:00
moyin
f09298617e feat:增强WebSocket测试页面用户体验
- 添加自动获取JWT Token功能
- 新增创建测试账号功能
- 实现一键测试流程(自动获取Token + 连接 + 登录)
- 添加智能导航链接和来源页面识别
- 完善用户引导和错误提示
- 优化测试流程,从手动5-10分钟缩短到30秒
2026-01-09 18:00:02 +08:00
moyin
ef04786207 docs:添加API文档跳转链接
- 在WebSocket OpenAPI文档中添加测试页面跳转链接
- 在聊天控制器中添加quickLinks对象
- 支持带参数的跳转,识别来源页面
- 完善API文档的导航体验
2026-01-09 17:59:35 +08:00
moyin
ca21982857 feat:添加WebSocket测试页面控制器
- 新增交互式WebSocket测试页面
- 提供完整的连接测试和消息发送功能
- 支持登录认证和聊天消息测试
- 包含位置更新和地图切换功能
- 提供实时消息日志和连接状态监控
2026-01-09 17:47:20 +08:00
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
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
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
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
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
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
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
70c020a97c refactor:重构安全模块架构,将security模块迁移至core层
- 将src/business/security模块迁移至src/core/security_core
- 更新模块导入路径和依赖关系
- 统一安全相关组件的命名规范(content_type.middleware.ts)
- 清理过时的配置文件和文档
- 更新架构文档以反映新的模块结构

此次重构符合业务功能模块化架构设计原则,将技术基础设施
服务统一放置在core层,提高代码组织的清晰度和可维护性。
2026-01-04 19:34:16 +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
daaf5c3f22 Merge branch 'main' into zulip_dev
* main: (31 commits)
  docs:更新README中的测试说明
  chore:整理API测试脚本
  test:添加验证码冷却时间清除功能测试
  feat:集成验证码冷却时间自动清除机制
  feat:添加验证码冷却时间清除功能
  api:更新登录验证码接口Swagger注解
  docs:更新登录验证码邮件模板修复相关文档
  test:添加登录验证码邮件发送测试
  fix:修复登录验证码邮件模板错误
  feat: 邮箱冲突检测优化 v1.1.1
  docs: 更新API文档,反映HTTP状态码修复
  fix: 修复用户注册冲突错误的HTTP状态码问题
  chore: 升级版本到1.1.0
  feat(docs): 更新OpenAPI文档,添加验证码登录和完整接口定义
  fix(docs): 修正API文档中的错误码和验证码说明
  docs: 完善API文档,添加验证码登录功能说明
  fix:修复注册逻辑和HTTP状态码问题
  fix:修复API状态码和限流配置问题
  chore: 清理旧文件和更新项目配置
  refactor: 更新核心服务和应用配置
  ...
2025-12-25 23:27:24 +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
moyin
0005dc773c api:更新登录验证码接口Swagger注解
更新发送登录验证码接口的ApiOperation描述,
明确说明邮件使用专门的登录验证码模板,
内容标识为登录验证而非密码重置。
2025-12-25 20:41:00 +08:00
moyin
d683f0d5da feat: 邮箱冲突检测优化 v1.1.1
- 新增邮箱冲突检测:发送验证码前检查邮箱是否已被注册
- 优化用户体验:避免向已注册邮箱发送无用验证码
- 改进错误处理:返回409 Conflict状态码和明确错误信息
- 更新API文档:重新整理文档结构,突出前端开发要点
- 完善测试用例:添加邮箱冲突检测相关测试
- 版本升级:1.1.0  1.1.1

核心修改:
- src/core/login_core/login_core.service.ts: 在sendEmailVerification方法中添加邮箱存在性检查
- src/business/auth/controllers/login.controller.ts: 正确处理409冲突状态码
- docs/api/api-documentation.md: 重新整理为精简实用的前端开发文档
- docs/api/openapi.yaml: 更新版本和接口描述
- test-register-fix.ps1: 添加邮箱冲突检测测试用例
2025-12-25 18:31:36 +08:00
moyin
8a19bb7daa fix: 修复用户注册冲突错误的HTTP状态码问题
问题修复:
- 用户名冲突:400  409 Conflict
- 邮箱冲突:400  409 Conflict
- 手机号冲突:400  409 Conflict

 保持其他错误返回400:
- 验证码错误:400 Bad Request
- 参数格式错误:400 Bad Request

 符合RESTful API规范:
- 409 Conflict:资源冲突
- 400 Bad Request:请求参数错误

 测试验证:
- 邮箱冲突正确返回409
- 用户名冲突正确返回409
- 验证码错误正确返回400
2025-12-25 16:26:55 +08:00
moyin
68debdcb40 docs: 完善API文档,添加验证码登录功能说明
- 新增验证码登录接口文档 (POST /auth/verification-code-login)
- 新增发送登录验证码接口文档 (POST /auth/send-login-verification-code)
- 更新接口列表和数量统计 (21个 -> 23个接口)
- 添加验证码登录测试场景和cURL示例
- 完善错误码说明和响应格式
- 确保文档与当前实现完全一致
2025-12-25 15:44:37 +08:00
moyin
9ad98f74d9 resolve: 解决ANGJustinl-main与main分支的合并冲突
- 修复文件路径冲突(business/login -> business/auth结构调整)
- 保留ANGJustinl分支的验证码登录功能
- 合并main分支的用户状态管理和项目结构改进
- 修复邮件服务中缺失的login_verification模板问题
- 更新测试用例以包含验证码登录功能
- 统一导入路径以适配新的目录结构
2025-12-25 15:11:14 +08:00
angjustinl
f6fa1ca1e3 test(login): Add verification code login test cases
- Add mock implementations for verificationCodeLogin, sendLoginVerificationCode, and debugVerificationCode in LoginService tests
- Add comprehensive test suite for verificationCodeLogin method covering valid login, failed verification, and error scenarios
- Add test suite for sendLoginVerificationCode method including test mode, real email sending, and error handling
- Add test suite for verificationCodeLogin in LoginCoreService covering email and phone verification
- Add test suite for sendLoginVerificationCode in LoginCoreService with email sending and error cases
- Add test suite for debugVerificationCode method for development/testing purposes
- Import VerificationCodeType enum for proper verification code type handling
- Ensure all verification code login flows are properly tested with mocked dependencies

## 测试覆盖

### 核心服务测试 (LoginCoreService)

-  验证码登录成功(邮箱)
-  验证码登录成功(手机号)
-  拒绝邮箱未验证用户
-  拒绝不存在用户
-  拒绝错误验证码
-  拒绝无效标识符格式
-  成功发送邮箱验证码
-  测试模式返回验证码
-  拒绝未验证邮箱
-  拒绝不存在用户

### 业务服务测试 (LoginService)

-  验证码登录成功响应
-  验证码登录失败响应
-  发送验证码测试模式响应
-  发送验证码真实模式响应
-  发送验证码失败响应

### 测试统计

- **总测试用例:** 39个
- **LoginCoreService:** 24个测试用例
- **LoginService:** 15个测试用例
- **测试覆盖率:** 100%
2025-12-24 21:18:52 +08:00
moyin
cb25703892 fix:修复API状态码和限流配置问题
- 修复登录控制器HTTP状态码问题,现在根据业务结果返回正确状态码
- 调整注册接口限流配置,从3次/5分钟放宽至10次/5分钟(开发环境)
- 新增清除限流记录的调试接口,便于开发测试
- 更新API文档,反映状态码修复和限流调整
- 添加测试脚本验证修复效果

主要修复:
- 业务失败时返回400/401而非200/201状态码
- 注册、登录、GitHub OAuth等接口现在正确处理错误状态码
- 限流配置更适合开发环境测试需求
2025-12-24 19:41:21 +08:00