From 368d71d977d5a65619c227dc014c1a4e32891f26 Mon Sep 17 00:00:00 2001 From: gpu Date: Sat, 24 Jan 2026 14:42:33 +0800 Subject: [PATCH] =?UTF-8?q?feat(api):=20=E6=B7=BB=E5=8A=A0=20GET=20/api/us?= =?UTF-8?q?erInfo=20=E6=8E=A5=E5=8F=A3=E5=85=BC=E5=AE=B9=E5=89=8D=E7=AB=AF?= =?UTF-8?q?=E8=B0=83=E7=94=A8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Controllers/UserController.cs | 43 ++++++++++++++++++- 1 file changed, 42 insertions(+), 1 deletion(-) 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 /// /// 用户信息数据