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