|
|
5e1afc2875
|
Merge branch 'main' into feature/jwt-auth-and-zulip-services
|
2026-01-06 16:54:52 +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 |
|
|
|
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 |
|
|
|
67ade48ad7
|
Merge pull request 'docs:更新贡献者信息和项目里程碑' (#29) from docs/update-contributors-info into main
Reviewed-on: datawhale/whale-town-end#29
|
2025-12-31 16:16:34 +08:00 |
|
moyin
|
29b8b05a2a
|
docs:更新贡献者信息和项目里程碑
- 更新所有贡献者的提交数统计(moyin: 112, jianuo: 11, angjustinl: 7)
- 添加最新重要贡献记录,包括Zulip模块架构重构和文档体系优化
- 更新项目里程碑,记录12月31日的重大架构重构
- 完善贡献者的主要贡献描述,反映最新的工作成果
本次更新确保贡献者信息与实际提交记录保持一致
|
2025-12-31 16:14:23 +08:00 |
|
|
|
bbf3476d75
|
Merge pull request 'ANGJustinl-zulip_dev' (#28) from ANGJustinl/whale-town-end:ANGJustinl-zulip_dev into main
Reviewed-on: datawhale/whale-town-end#28
|
2025-12-31 16:08:12 +08:00 |
|
moyin
|
faf93a30e1
|
chore:更新配置文件和项目文档
- 更新tsconfig.json配置以支持新的模块结构
- 添加REFACTORING_SUMMARY.md记录重构过程
- 更新git_commit_guide.md完善提交规范
- 添加相关图片资源
这些配置和文档更新支持项目架构重构后的正常运行
|
2025-12-31 15:45:26 +08:00 |
|
moyin
|
2d10131838
|
refactor:重构Zulip模块按业务功能模块化架构
- 将技术实现服务从business层迁移到core层
- 创建src/core/zulip/核心服务模块,包含API客户端、连接池等技术服务
- 保留src/business/zulip/业务逻辑,专注游戏相关的业务规则
- 通过依赖注入实现业务层与核心层的解耦
- 更新模块导入关系,确保架构分层清晰
重构后的架构符合单一职责原则,提高了代码的可维护性和可测试性
|
2025-12-31 15:44:36 +08:00 |
|
moyin
|
5140bd1a54
|
docs:优化项目文档结构和架构说明
- 优化主README.md的文件结构总览,采用总分结构设计
- 大幅改进docs/ARCHITECTURE.md,详细说明业务功能模块化架构
- 新增docs/DOCUMENT_CLEANUP.md记录文档清理过程
- 更新docs/README.md添加新文档的导航链接
本次更新完善了项目文档体系,便于开发者快速理解项目架构
|
2025-12-31 15:43:15 +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 |
|
|
|
dd856b9ba6
|
Merge pull request 'fix/login-verification-email-template' (#26) from fix/login-verification-email-template into main
Reviewed-on: datawhale/whale-town-end#26
|
2025-12-25 20:57:25 +08:00 |
|
moyin
|
07601b6d79
|
docs:更新README中的测试说明
- 更新快速测试部分,使用新的综合测试脚本
- 添加测试脚本的参数说明(跳过限流测试、自定义服务器等)
- 更新测试内容列表,包含新增的功能测试
- 统一测试命令,简化开发者使用流程
|
2025-12-25 20:51:00 +08:00 |
|
moyin
|
7429de3cf4
|
chore:整理API测试脚本
- 移除分散的旧测试脚本(test-api.ps1, test-api.sh, test-register-fix.ps1, test-throttle.ps1)
- 添加统一的综合测试脚本(test-comprehensive.ps1)
- 新脚本支持更多功能:跳过限流测试、自定义服务器地址等
- 提供更完整的API功能测试覆盖
|
2025-12-25 20:50:29 +08:00 |
|
moyin
|
0192934c66
|
test:添加验证码冷却时间清除功能测试
为新增的验证码冷却时间清除功能添加全面的测试用例:
验证服务测试:
- 测试成功清除冷却时间
- 测试清除不存在的冷却时间
- 测试Redis操作错误处理
- 测试不同类型和标识符的冷却时间清除
登录核心服务测试:
- 测试注册成功后自动清除冷却时间
- 测试密码重置成功后自动清除冷却时间
- 测试验证码登录成功后自动清除冷却时间
- 测试冷却时间清除失败的优雅处理
|
2025-12-25 20:49:16 +08:00 |
|
moyin
|
64370c3206
|
feat:集成验证码冷却时间自动清除机制
在用户成功完成关键操作后自动清除验证码冷却时间:
- 用户注册成功后清除邮箱验证码冷却时间
- 密码重置成功后清除密码重置验证码冷却时间
- 验证码登录成功后清除登录验证码冷却时间
清除失败不影响主流程,只记录警告日志,确保用户体验。
|
2025-12-25 20:48:53 +08:00 |
|
moyin
|
a78df48101
|
feat:添加验证码冷却时间清除功能
新增 clearCooldown 方法,用于在用户成功完成操作后
清除验证码冷却时间,提升用户体验:
- 注册成功后清除邮箱验证码冷却时间
- 密码重置成功后清除重置验证码冷却时间
- 验证码登录成功后清除登录验证码冷却时间
|
2025-12-25 20:48:15 +08:00 |
|
moyin
|
0005dc773c
|
api:更新登录验证码接口Swagger注解
更新发送登录验证码接口的ApiOperation描述,
明确说明邮件使用专门的登录验证码模板,
内容标识为登录验证而非密码重置。
|
2025-12-25 20:41:00 +08:00 |
|
moyin
|
946d328be6
|
docs:更新登录验证码邮件模板修复相关文档
- 在API文档重要提醒中添加邮件模板修复说明
- 更新OpenAPI文档版本号至1.1.3
- 增强发送登录验证码接口的描述,明确说明使用专门的登录验证码模板
|
2025-12-25 20:40:45 +08:00 |
|
moyin
|
841a58886e
|
test:添加登录验证码邮件发送测试
为修复的登录验证码邮件模板功能添加专门的测试用例:
- 测试登录验证码邮件发送功能
- 验证邮件模板内容包含正确的登录验证码信息
- 确保邮件主题和内容符合预期
|
2025-12-25 20:40:27 +08:00 |
|
moyin
|
91565f716d
|
fix:修复登录验证码邮件模板错误
登录验证码发送时错误地使用了密码重置邮件模板,
导致用户收到的邮件内容显示为'密码重置'而不是'登录验证码'。
修改 EmailService.sendVerificationCode 方法,
当 purpose 为 'login_verification' 时使用正确的
getLoginVerificationTemplate 方法而不是 getPasswordResetTemplate。
|
2025-12-25 20:40:08 +08:00 |
|
|
|
417b01323e
|
Merge pull request 'feature/email-conflict-detection-v1.1.1' (#25) from feature/email-conflict-detection-v1.1.1 into main
Reviewed-on: datawhale/whale-town-end#25
|
2025-12-25 18:33:58 +08:00 |
|
|
|
b3de6dec5f
|
Merge branch 'main' into feature/email-conflict-detection-v1.1.1
|
2025-12-25 18:33:47 +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
|
aae77866ac
|
docs: 更新API文档,反映HTTP状态码修复
文档更新内容:
- 更新注册接口响应示例,区分400和409状态码
- 添加资源冲突响应示例(用户名、邮箱、手机号已存在)
- 完善OpenAPI文档,添加详细的响应示例
- 更新错误码表格,明确不同错误的状态码
- 添加HTTP状态码测试场景
修复说明:
- 409 Conflict:用户名/邮箱/手机号已存在
- 400 Bad Request:验证码错误/参数格式错误
- 符合RESTful API规范
测试验证:
- 邮箱冲突:HTTP 409
- 用户名冲突:HTTP 409
- 验证码错误:HTTP 400
前端开发者现在可以:
- 根据HTTP状态码进行精确的错误处理
- 移除临时解决方案,使用标准状态码判断
- 提供更好的用户体验和错误提示
|
2025-12-25 16:32:51 +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 |
|
|
|
a8e29c6a46
|
Merge pull request 'feature/verification-code-login-v1.1.0' (#24) from feature/verification-code-login-v1.1.0 into main
Reviewed-on: datawhale/whale-town-end#24
|
2025-12-25 16:19:23 +08:00 |
|
moyin
|
9f606abbb2
|
chore: 升级版本到1.1.0
版本升级:1.0.0 1.1.0
新功能:
- 验证码登录功能完整实现
- 支持邮箱和手机号验证码登录
- 新增2个API接口(总计23个)
文档更新:
- Swagger API文档版本更新
- OpenAPI规范文档更新
- 手动API文档版本更新
- 添加v1.1.0版本更新日志
技术改进:
- 完善验证码相关错误处理
- 优化API响应格式一致性
- 增强测试覆盖率
更新内容:
- package.json: 1.0.0 1.1.0
- Swagger配置: 1.0.0 1.1.0
- OpenAPI文档: 1.0.0 1.1.0
- 应用状态接口: 1.0.0 1.1.0
- API文档: 添加v1.1.0更新日志
|
2025-12-25 16:15:52 +08:00 |
|
moyin
|
7385c63ffd
|
feat(docs): 更新OpenAPI文档,添加验证码登录和完整接口定义
- 添加验证码登录接口:/auth/verification-code-login
- 添加发送登录验证码接口:/auth/send-login-verification-code
- 添加邮箱验证相关接口:send/verify/resend-email-verification
- 添加调试接口:debug-verification-code, debug-clear-throttle
- 添加应用状态接口:GET /
- 完善所有Schema定义和响应格式
- 添加测试模式和限流错误响应
- 确保OpenAPI文档与实际API完全匹配
|
2025-12-25 16:11:07 +08:00 |
|
|
|
8d5a44d985
|
Merge pull request 'fix(docs): 修正API文档中的错误码和验证码说明' (#23) from docs-change-api-document into main
Reviewed-on: datawhale/whale-town-end#23
|
2025-12-25 16:06:44 +08:00 |
|
moyin
|
d59e9531e2
|
fix(docs): 修正API文档中的错误码和验证码说明
- 修正验证码登录错误码:VERIFICATION_CODE_INVALID -> VERIFICATION_CODE_LOGIN_FAILED
- 修正发送登录验证码错误码:USER_NOT_FOUND -> SEND_LOGIN_CODE_FAILED
- 添加验证码登录相关错误码到错误码表格
- 完善验证码使用说明和注意事项
- 确保文档与实际API响应完全一致
|
2025-12-25 16:04:34 +08:00 |
|
|
|
28a39935b7
|
Merge pull request 'feat(login): 添加验证码登录auth api' (#18) from ANGJustinl/whale-town-end:main into main
Reviewed-on: datawhale/whale-town-end#18
|
2025-12-25 15:48:13 +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 |
|
|
|
578cba39a7
|
Merge pull request 'fix:修复注册逻辑和HTTP状态码问题' (#22) from fix/registration-logic-and-status-codes into main
Reviewed-on: datawhale/whale-town-end#22
|
2025-12-24 20:41:18 +08:00 |
|
moyin
|
404ef5d3e0
|
fix:修复注册逻辑和HTTP状态码问题
核心修复:
- 调整注册流程检查顺序,先验证用户存在性再验证验证码
- 修复HTTP状态码问题,业务失败时返回正确的错误状态码
- 优化错误处理逻辑,提供更准确的错误信息
主要变更:
- 登录核心服务:重构注册方法,优化检查顺序避免验证码无效消费
- 用户服务:分离用户创建和重复检查逻辑,提高代码复用性
- 登录控制器:修复HTTP状态码处理,根据业务结果返回正确状态码
- API文档:更新注册接口说明和错误响应示例
- 测试脚本:优化测试逻辑和注释说明
修复效果:
- 用户已存在时立即返回正确错误信息,不消费验证码
- API响应状态码准确反映业务执行结果
- 错误信息更加用户友好和准确
- 验证码使用更加合理和高效
测试验证:
- 所有核心功能测试通过
- 注册逻辑修复验证成功
- HTTP状态码修复验证成功
- 限流功能正常工作
|
2025-12-24 20:39:23 +08:00 |
|
|
|
e537e782a9
|
Merge pull request 'fix:修复API状态码和限流配置问题' (#21) from fix/api-status-codes-and-throttle into main
Reviewed-on: datawhale/whale-town-end#21
|
2025-12-24 19:41:52 +08:00 |
|