namespace LingAdmin.Shared.DTOs;
#region 请求 DTOs
///
/// 用户注册请求
///
public class RegisterRequest
{
public required string Name { get; set; }
public required string Email { get; set; }
public required string Password { get; set; }
public string? PhoneNumber { get; set; }
}
///
/// 用户登录请求
///
public class LoginRequest
{
public required string Email { get; set; }
public required string Password { get; set; }
public bool RememberMe { get; set; } = false;
}
///
/// 刷新令牌请求
///
public class RefreshTokenRequest
{
public required string RefreshToken { get; set; }
}
///
/// 修改密码请求
///
public class ChangePasswordRequest
{
public required string CurrentPassword { get; set; }
public required string NewPassword { get; set; }
public required string ConfirmPassword { get; set; }
}
///
/// 重置密码请求
///
public class ResetPasswordRequest
{
public required string Token { get; set; }
public required string NewPassword { get; set; }
public required string ConfirmPassword { get; set; }
}
///
/// 请求重置密码
///
public class ForgotPasswordRequest
{
public required string Email { get; set; }
}
#endregion
#region 响应 DTOs
///
/// 用户信息 DTO
///
public class UserDto
{
public int Id { get; set; }
public required string Name { get; set; }
public required string Email { get; set; }
public required string Status { get; set; }
public List Roles { get; set; } = new();
public List Permissions { get; set; } = new();
public DateTime CreatedAt { get; set; }
public DateTime? LastLoginAt { get; set; }
}
///
/// 登录响应
///
public class LoginResponse
{
public required string AccessToken { get; set; }
public required string RefreshToken { get; set; }
public required UserDto User { get; set; }
public DateTime ExpiresAt { get; set; }
}
///
/// Token 刷新响应
///
public class TokenRefreshResponse
{
public required string AccessToken { get; set; }
public required string RefreshToken { get; set; }
public DateTime ExpiresAt { get; set; }
}
#endregion