feat:实现登录系统和用户认证功能

- 添加登录场景(login_scene.tscn)和主菜单场景(main_menu_scene.tscn)
- 实现认证管理器(AuthManager)用于用户登录和会话管理
- 添加核心服务:加密服务、存储服务、网络服务
- 配置项目主场景为登录场景
- 添加自动加载服务到项目配置
- 添加开发环境配置(VSCode、Claude)

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
This commit is contained in:
2025-12-23 01:15:33 +08:00
parent 8ed260b413
commit d623c705b6
28 changed files with 1455 additions and 0 deletions

37
scripts/ui/UI_MainMenu.gd Normal file
View File

@@ -0,0 +1,37 @@
extends Control
## 主菜单界面控制器
## 显示用户信息并提供退出登录功能
@onready var welcomeLabel: Label = $centerContainer/vboxContainer/welcomeLabel
@onready var userInfoLabel: Label = $centerContainer/vboxContainer/userInfoLabel
@onready var logoutButton: Button = $centerContainer/vboxContainer/logoutButton
func _ready():
# 连接退出登录按钮
logoutButton.pressed.connect(_onLogoutPressed)
# 连接 AuthManager 信号
AuthManager.logout_success.connect(_onLogoutSuccess)
# 显示用户信息
_displayUserInfo()
## 显示用户信息
func _displayUserInfo() -> void:
var currentUser = AuthManager.getCurrentUser()
if currentUser != null:
userInfoLabel.text = "用户名:%s\n等级:%d" % [currentUser.username, currentUser.level]
else:
userInfoLabel.text = "未登录"
## 退出登录按钮点击事件
func _onLogoutPressed() -> void:
# 调用 AuthManager 登出
AuthManager.logout()
## 登出成功回调
func _onLogoutSuccess() -> void:
# 返回登录界面
get_tree().change_scene_to_file("res://scenes/login_scene.tscn")