feature/auth-system-refactor #8

Merged
moyin merged 6 commits from feature/auth-system-refactor into main 2026-01-02 21:25:30 +08:00
Owner

合并请求:认证系统架构重构

📋 概述

本次合并请求实现了认证系统的完整架构重构,将原有的耦合代码拆分为符合项目规范的分层架构,实现了视图层与业务逻辑层的完全解耦。

🎯 目标

  • 实现AuthScene的解耦重构,符合docs中的架构要求
  • 创建独立的业务逻辑管理器(AuthManager、ToastManager)
  • 统一文件命名规范,提高项目可维护性
  • 修复所有GDScript编译错误和警告
  • 完善代码注释,提升代码可读性

🔄 主要变更

1. 架构重构 (refactor)

AuthScene解耦重构

  • 创建 AuthManager.gd:负责所有认证业务逻辑

    • 用户登录/注册逻辑
    • 表单验证逻辑
    • 验证码管理逻辑
    • 网络请求管理
  • 创建 ToastManager.gd:负责Toast消息管理

    • Toast创建和显示
    • 动画和生命周期管理
    • 支持成功/失败样式
  • 重构 AuthScene.gd:纯视图层实现

    • 只负责UI交互和显示
    • 通过信号与业务层通信
    • 移除所有业务逻辑代码

项目结构优化

  • MainScene移动:从 scenes/Maps/ 移动到 scenes/ 根目录
  • 命名统一LoginWindow.tscnAuthScene.tscn
  • 路径更新:更新 project.godot 和相关引用

2. 错误修复 (fix)

GDScript语法错误

  • EventSystem.gd:移除不支持的 try/except 语句
  • AuthManager.gd:修复方法名不匹配错误
  • AuthScene.gd:修复所有GDScript警告
    • 未使用参数添加下划线前缀
    • 修复变量名与基类方法冲突

3. 文档完善 (docs)

代码注释

  • GameManager.gd:游戏状态管理注释
  • NetworkManager.gd:网络请求管理注释
  • SceneManager.gd:场景切换管理注释
  • StringUtils.gd:字符串工具函数注释

项目文档

  • 更新 ProjectPaths.gd 中的路径常量
  • 更新项目结构说明文档

📊 文件变更统计

新增文件

_Core/managers/AuthManager.gd      (589 行) - 认证业务逻辑管理器
_Core/managers/ToastManager.gd     (234 行) - Toast消息管理器
scenes/MainScene.gd                (移动)   - 主场景控制器
scenes/MainScene.tscn              (移动)   - 主场景文件
scenes/ui/AuthScene.tscn           (重命名) - 认证场景文件

修改文件

scenes/ui/AuthScene.gd             (重构)   - 纯视图层实现
_Core/systems/EventSystem.gd       (修复)   - 语法错误修复
_Core/managers/GameManager.gd       (注释)   - 添加详细注释
_Core/managers/NetworkManager.gd    (注释)   - 添加详细注释
_Core/managers/SceneManager.gd      (注释)   - 添加详细注释
_Core/utils/StringUtils.gd          (注释)   - 添加详细注释
project.godot                       (配置)   - 更新主场景路径

删除文件

scenes/Maps/MainScene.gd           - 已移动到scenes/
scenes/Maps/main_scene.tscn        - 已移动到scenes/
scenes/ui/LoginWindow.tscn         - 已重命名为AuthScene.tscn

🏗️ 架构改进

重构前

AuthScene.gd (1920行)
├── UI控制逻辑
├── 业务逻辑 (登录/注册)
├── 表单验证逻辑
├── 网络请求处理
├── Toast消息管理
└── 验证码管理

重构后

AuthScene.gd (358行) - 纯视图层
├── UI控制逻辑
└── 信号通信

AuthManager.gd (589行) - 业务逻辑层
├── 登录/注册逻辑
├── 表单验证逻辑
├── 网络请求处理
└── 验证码管理

ToastManager.gd (234行) - UI组件层
└── Toast消息管理

验证结果

编译检查

  • 所有GDScript文件编译通过
  • 无语法错误和警告
  • 所有依赖关系正确

功能验证

  • AuthScene正常加载和显示
  • Toast系统正常工作
  • 信号通信机制正常
  • 项目结构符合规范

代码质量

  • 符合项目命名规范
  • 符合架构设计要求
  • 代码注释完整规范
  • 文件结构清晰合理

🔍 测试建议

功能测试

  1. 认证界面:验证登录/注册界面正常显示
  2. Toast消息:验证Toast消息正常显示和动画
  3. 表单验证:验证输入验证逻辑正常工作
  4. 场景切换:验证MainScene正常加载AuthScene

集成测试

  1. 信号通信:验证视图层与业务层通信正常
  2. 网络请求:验证AuthManager网络请求功能
  3. 状态管理:验证各种状态切换正常

📝 提交历史

709242d docs:更新项目结构说明和路径配置
2f1ccbc docs:为核心管理器添加详细中文注释
aaaf2b3 fix:修复EventSystem中的GDScript语法错误
93baf1a refactor:统一AuthScene命名规范
5f915c6 refactor:AuthScene解耦重构,实现视图与业务逻辑分离
d256249 refactor:将MainScene移动到scenes根目录

🎉 收益

代码质量提升

  • 可维护性:视图与业务逻辑分离,便于独立维护
  • 可测试性:业务逻辑独立,便于单元测试
  • 可扩展性:模块化设计,便于功能扩展
  • 可读性:完整注释,便于团队协作

项目规范化

  • 架构规范:符合docs中的分层架构要求
  • 命名规范:统一文件和类命名
  • 代码规范:符合GDScript最佳实践
  • 文档规范:完整的代码注释

开发效率

  • 调试效率:问题定位更精确
  • 协作效率:代码结构清晰易懂
  • 维护效率:模块化便于局部修改
  • 扩展效率:新功能开发更便捷

🚀 后续计划

  1. 功能完善:基于新架构继续完善认证功能
  2. 测试覆盖:为AuthManager和ToastManager添加单元测试
  3. 性能优化:基于分层架构进行性能优化
  4. 文档更新:更新开发文档以反映新架构

分支: feature/auth-system-refactor
目标分支: main
类型: 架构重构
影响范围: 认证系统、项目结构
风险评估: 低(向后兼容,功能保持一致)

审查要点:

  • 架构设计是否合理
  • 代码质量是否符合规范
  • 功能是否正常工作
  • 文档是否完整准确
# 合并请求:认证系统架构重构 ## 📋 概述 本次合并请求实现了认证系统的完整架构重构,将原有的耦合代码拆分为符合项目规范的分层架构,实现了视图层与业务逻辑层的完全解耦。 ## 🎯 目标 - ✅ 实现AuthScene的解耦重构,符合docs中的架构要求 - ✅ 创建独立的业务逻辑管理器(AuthManager、ToastManager) - ✅ 统一文件命名规范,提高项目可维护性 - ✅ 修复所有GDScript编译错误和警告 - ✅ 完善代码注释,提升代码可读性 ## 🔄 主要变更 ### 1. 架构重构 (`refactor`) #### AuthScene解耦重构 - **创建 `AuthManager.gd`**:负责所有认证业务逻辑 - 用户登录/注册逻辑 - 表单验证逻辑 - 验证码管理逻辑 - 网络请求管理 - **创建 `ToastManager.gd`**:负责Toast消息管理 - Toast创建和显示 - 动画和生命周期管理 - 支持成功/失败样式 - **重构 `AuthScene.gd`**:纯视图层实现 - 只负责UI交互和显示 - 通过信号与业务层通信 - 移除所有业务逻辑代码 #### 项目结构优化 - **MainScene移动**:从 `scenes/Maps/` 移动到 `scenes/` 根目录 - **命名统一**:`LoginWindow.tscn` → `AuthScene.tscn` - **路径更新**:更新 `project.godot` 和相关引用 ### 2. 错误修复 (`fix`) #### GDScript语法错误 - **EventSystem.gd**:移除不支持的 `try/except` 语句 - **AuthManager.gd**:修复方法名不匹配错误 - **AuthScene.gd**:修复所有GDScript警告 - 未使用参数添加下划线前缀 - 修复变量名与基类方法冲突 ### 3. 文档完善 (`docs`) #### 代码注释 - **GameManager.gd**:游戏状态管理注释 - **NetworkManager.gd**:网络请求管理注释 - **SceneManager.gd**:场景切换管理注释 - **StringUtils.gd**:字符串工具函数注释 #### 项目文档 - 更新 `ProjectPaths.gd` 中的路径常量 - 更新项目结构说明文档 ## 📊 文件变更统计 ### 新增文件 ``` _Core/managers/AuthManager.gd (589 行) - 认证业务逻辑管理器 _Core/managers/ToastManager.gd (234 行) - Toast消息管理器 scenes/MainScene.gd (移动) - 主场景控制器 scenes/MainScene.tscn (移动) - 主场景文件 scenes/ui/AuthScene.tscn (重命名) - 认证场景文件 ``` ### 修改文件 ``` scenes/ui/AuthScene.gd (重构) - 纯视图层实现 _Core/systems/EventSystem.gd (修复) - 语法错误修复 _Core/managers/GameManager.gd (注释) - 添加详细注释 _Core/managers/NetworkManager.gd (注释) - 添加详细注释 _Core/managers/SceneManager.gd (注释) - 添加详细注释 _Core/utils/StringUtils.gd (注释) - 添加详细注释 project.godot (配置) - 更新主场景路径 ``` ### 删除文件 ``` scenes/Maps/MainScene.gd - 已移动到scenes/ scenes/Maps/main_scene.tscn - 已移动到scenes/ scenes/ui/LoginWindow.tscn - 已重命名为AuthScene.tscn ``` ## 🏗️ 架构改进 ### 重构前 ``` AuthScene.gd (1920行) ├── UI控制逻辑 ├── 业务逻辑 (登录/注册) ├── 表单验证逻辑 ├── 网络请求处理 ├── Toast消息管理 └── 验证码管理 ``` ### 重构后 ``` AuthScene.gd (358行) - 纯视图层 ├── UI控制逻辑 └── 信号通信 AuthManager.gd (589行) - 业务逻辑层 ├── 登录/注册逻辑 ├── 表单验证逻辑 ├── 网络请求处理 └── 验证码管理 ToastManager.gd (234行) - UI组件层 └── Toast消息管理 ``` ## ✅ 验证结果 ### 编译检查 - ✅ 所有GDScript文件编译通过 - ✅ 无语法错误和警告 - ✅ 所有依赖关系正确 ### 功能验证 - ✅ AuthScene正常加载和显示 - ✅ Toast系统正常工作 - ✅ 信号通信机制正常 - ✅ 项目结构符合规范 ### 代码质量 - ✅ 符合项目命名规范 - ✅ 符合架构设计要求 - ✅ 代码注释完整规范 - ✅ 文件结构清晰合理 ## 🔍 测试建议 ### 功能测试 1. **认证界面**:验证登录/注册界面正常显示 2. **Toast消息**:验证Toast消息正常显示和动画 3. **表单验证**:验证输入验证逻辑正常工作 4. **场景切换**:验证MainScene正常加载AuthScene ### 集成测试 1. **信号通信**:验证视图层与业务层通信正常 2. **网络请求**:验证AuthManager网络请求功能 3. **状态管理**:验证各种状态切换正常 ## 📝 提交历史 ``` 709242d docs:更新项目结构说明和路径配置 2f1ccbc docs:为核心管理器添加详细中文注释 aaaf2b3 fix:修复EventSystem中的GDScript语法错误 93baf1a refactor:统一AuthScene命名规范 5f915c6 refactor:AuthScene解耦重构,实现视图与业务逻辑分离 d256249 refactor:将MainScene移动到scenes根目录 ``` ## 🎉 收益 ### 代码质量提升 - **可维护性**:视图与业务逻辑分离,便于独立维护 - **可测试性**:业务逻辑独立,便于单元测试 - **可扩展性**:模块化设计,便于功能扩展 - **可读性**:完整注释,便于团队协作 ### 项目规范化 - **架构规范**:符合docs中的分层架构要求 - **命名规范**:统一文件和类命名 - **代码规范**:符合GDScript最佳实践 - **文档规范**:完整的代码注释 ### 开发效率 - **调试效率**:问题定位更精确 - **协作效率**:代码结构清晰易懂 - **维护效率**:模块化便于局部修改 - **扩展效率**:新功能开发更便捷 ## 🚀 后续计划 1. **功能完善**:基于新架构继续完善认证功能 2. **测试覆盖**:为AuthManager和ToastManager添加单元测试 3. **性能优化**:基于分层架构进行性能优化 4. **文档更新**:更新开发文档以反映新架构 --- **分支**: `feature/auth-system-refactor` **目标分支**: `main` **类型**: 架构重构 **影响范围**: 认证系统、项目结构 **风险评估**: 低(向后兼容,功能保持一致) **审查要点**: - [ ] 架构设计是否合理 - [ ] 代码质量是否符合规范 - [ ] 功能是否正常工作 - [ ] 文档是否完整准确
moyin added 6 commits 2026-01-02 21:25:14 +08:00
- 将MainScene从scenes/Maps/移动到scenes/根目录
- 更新project.godot中的主场景路径配置
- 符合项目结构规范,MainScene作为图像显示入口文件
- 创建AuthManager.gd:负责所有认证业务逻辑
  - 用户登录/注册逻辑
  - 表单验证逻辑
  - 验证码管理逻辑
  - 网络请求管理

- 创建ToastManager.gd:负责Toast消息管理
  - Toast创建和显示
  - 动画和生命周期管理
  - 支持成功/失败样式

- 重构AuthScene.gd:纯视图层实现
  - 只负责UI交互和显示
  - 通过信号与业务层通信
  - 移除所有业务逻辑代码

- 修复GDScript警告:
  - 未使用参数添加下划线前缀
  - 修复变量名与基类方法冲突
  - 修复EventSystem中的try语法错误
  - 修复AuthManager中的方法名不匹配错误

符合docs中的架构要求,实现完全解耦
- 将LoginWindow.tscn重命名为AuthScene.tscn
- 更新MainScene.tscn中的场景引用路径
- 实现命名一致性:
  - 场景文件:AuthScene.tscn
  - 脚本文件:AuthScene.gd
  - 节点名称:AuthScene
- AuthScene比LoginWindow更准确描述功能(登录+注册)
- 移除不支持的try/except语句
- 改为直接调用回调函数
- 确保EventSystem能正常编译运行
- GameManager.gd:游戏状态管理注释
- NetworkManager.gd:网络请求管理注释
- SceneManager.gd:场景切换管理注释
- StringUtils.gd:字符串工具函数注释

按照docs注释规范,添加文件头、函数说明、参数描述和使用示例
方便协同开发者快速理解和调用
- 更新ProjectPaths.gd中的路径常量
- 更新项目结构说明文档
- 清理临时测试文件的uid引用

确保文档与实际项目结构保持一致
moyin merged commit 83404d031e into main 2026-01-02 21:25:30 +08:00
moyin deleted branch feature/auth-system-refactor 2026-01-02 21:25:30 +08:00
Sign in to join this conversation.
No Reviewers
No Label
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: datawhale/whale-town-front#8