using Microsoft.AspNetCore.Authorization; using Microsoft.AspNetCore.Mvc; using MilliSim.Common.Dtos; using MilliSim.Common.Models; using MilliSim.Services; namespace MilliSim.Controllers; [ApiController] [Route("api/auth")] public class AuthController : ControllerBase { private readonly IAuthService _authService; public AuthController(IAuthService authService) { _authService = authService; } /// /// 获取验证码 /// [HttpGet("captcha")] public async Task> GetCaptcha() { return await _authService.GetCaptchaAsync(); } /// /// 登录 /// [HttpPost("login")] public async Task> Login([FromBody] LoginRequest request) { return await _authService.LoginAsync(request); } /// /// 修改密码 /// [Authorize] [HttpPost("change-password")] public async Task ChangePassword([FromBody] ChangePasswordRequest request) { return await _authService.ChangePasswordAsync(request); } /// /// 获取个人信息 /// [Authorize] [HttpGet("profile")] public async Task> GetProfile() { return await _authService.GetProfileAsync(); } /// /// 更新个人信息 /// [Authorize] [HttpPost("profile")] public async Task> UpdateProfile([FromBody] UpdateProfileRequest request) { return await _authService.UpdateProfileAsync(request); } }