diff --git a/server/HoneyBox/src/HoneyBox.Api/Controllers/UserController.cs b/server/HoneyBox/src/HoneyBox.Api/Controllers/UserController.cs index ec2ff1f3..f6431138 100644 --- a/server/HoneyBox/src/HoneyBox.Api/Controllers/UserController.cs +++ b/server/HoneyBox/src/HoneyBox.Api/Controllers/UserController.cs @@ -43,12 +43,53 @@ public class UserController : ControllerBase } /// - /// 获取用户信息 + /// 获取用户简要信息(GET方式) + /// + /// + /// GET /api/userInfo + /// + /// 获取当前登录用户的简要信息,直接返回用户数据(不嵌套在userinfo对象中) + /// 用于前端 getUserInfo() 调用 + /// + /// 用户信息数据 + [HttpGet("userInfo")] + [Authorize] + [ProducesResponseType(typeof(ApiResponse), StatusCodes.Status200OK)] + [ProducesResponseType(typeof(ApiResponse), StatusCodes.Status401Unauthorized)] + public async Task> GetUserInfoSimple() + { + var userId = GetCurrentUserId(); + if (userId == null) + { + return ApiResponse.Unauthorized(); + } + + try + { + var userInfo = await _userService.GetUserInfoAsync(userId.Value); + if (userInfo == null) + { + _logger.LogWarning("User not found: UserId={UserId}", userId); + return ApiResponse.Fail("用户不存在"); + } + + return ApiResponse.Success(userInfo); + } + catch (Exception ex) + { + _logger.LogError(ex, "Failed to get user info: UserId={UserId}", userId); + return ApiResponse.Fail("获取用户信息失败"); + } + } + + /// + /// 获取用户完整信息(POST方式) /// /// /// POST /api/user /// /// 获取当前登录用户的详细信息,包含余额、积分、VIP等级等 + /// 返回数据嵌套在 userinfo 对象中,用于前端 getUser() 调用 /// Requirements: 4.1-4.5 /// /// 用户信息数据