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);
}
}