feat(api): 添加 GET /api/userInfo 接口兼容前端调用

This commit is contained in:
gpu 2026-01-24 14:42:33 +08:00
parent 6f92062305
commit 368d71d977

View File

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