using Apimanager_backend.Dtos; using Apimanager_backend.Exceptions; using Apimanager_backend.Services; using Microsoft.AspNetCore.Http; using Microsoft.AspNetCore.Mvc; using Apimanager_backend.Filters; namespace Apimanager_backend.Controllers { [ModelValidationFilter()] [Route("api/[controller]")] [ApiController] public class UserController : ControllerBase { private readonly IUserService userService; public UserController(IUserService userService) { this.userService = userService; } /// /// 用户登录控制器 /// /// 登录信息 /// 通用返回信息格式 [HttpPost("Login")] public async Task>> Login([FromBody]UserLoginDto dto) { try { UserInfoDto user = await userService.LoginAsync(dto.UserName, dto.Password); var responseInfo = new ResponseBase( code: 2000, message: "Login successful", data: user ); return Ok(responseInfo); } catch (BaseException e) { //错误时,构建错误信息对象 var responseInfo = new ResponseBase( code:e.code, message: e.message, data: null ); return Unauthorized(responseInfo); } } } }