using System.ComponentModel.DataAnnotations; namespace CampusErrand.Models.Dtos; /// /// 微信快捷登录请求(仅需 code) /// public class WxLoginRequest { /// 微信 wx.login() 返回的 code [Required(ErrorMessage = "code 不能为空")] public string Code { get; set; } = string.Empty; } /// /// 微信登录请求 /// public class WeChatLoginRequest { /// 微信 wx.login() 返回的 code [Required(ErrorMessage = "code 不能为空")] public string Code { get; set; } = string.Empty; /// 微信加密数据 [Required(ErrorMessage = "encryptedData 不能为空")] public string EncryptedData { get; set; } = string.Empty; /// 加密算法初始向量 [Required(ErrorMessage = "iv 不能为空")] public string Iv { get; set; } = string.Empty; } /// /// 登录响应 /// public class LoginResponse { /// JWT 令牌 public string Token { get; set; } = string.Empty; /// 用户信息 public UserInfo UserInfo { get; set; } = new(); } /// /// 用户基本信息 /// public class UserInfo { public int Id { get; set; } public string Uid { get; set; } = string.Empty; public string Phone { get; set; } = string.Empty; public string Nickname { get; set; } = string.Empty; public string AvatarUrl { get; set; } = string.Empty; public string Role { get; set; } = string.Empty; } /// /// 管理员登录请求 /// public class AdminLoginRequest { /// 管理员账号 [Required(ErrorMessage = "账号不能为空")] public string Username { get; set; } = string.Empty; /// 密码 [Required(ErrorMessage = "密码不能为空")] public string Password { get; set; } = string.Empty; } /// /// 更新用户信息请求 /// public class UpdateProfileRequest { /// 昵称 public string? Nickname { get; set; } /// 头像URL public string? AvatarUrl { get; set; } }