using System.ComponentModel.DataAnnotations; namespace YD_Event.Application.Client.Dtos; public class WeChatLoginInput { /// /// 微信临时授权码 /// [Required(ErrorMessage = "code不能为空")] public string Code { get; set; } /// /// 加密数据 /// [Required(ErrorMessage = "encryptedData不能为空")] public string EncryptedData { get; set; } /// /// 初始向量 /// [Required(ErrorMessage = "iv不能为空")] public string Iv { get; set; } /// /// 原始数据 /// [Required(ErrorMessage = "rawData不能为空")] public string RawData { get; set; } /// /// 签名 /// [Required(ErrorMessage = "signature不能为空")] public string Signature { get; set; } } /// /// 微信登录输出参数 /// public class WeChatLoginOutput { /// /// OpenId /// public string Openid { get; set; } /// /// 会话密钥 /// public string SessionKey { get; set; } /// /// 访问令牌 /// public string AccessToken { get; set; } /// /// 刷新令牌 /// public string RefreshToken { get; set; } /// /// 过期时间 /// public int ExpiresIn { get; set; } /// /// 用户信息 /// public object UserInfo { get; set; } } /// /// 微信注册输入参数 /// public class WeChatRegisterInput { /// /// OpenId /// [Required(ErrorMessage = "openid不能为空")] public string Openid { get; set; } /// /// 加密数据 /// [Required(ErrorMessage = "encryptedData不能为空")] public string EncryptedData { get; set; } /// /// 初始向量 /// [Required(ErrorMessage = "iv不能为空")] public string Iv { get; set; } /// /// 原始数据 /// [Required(ErrorMessage = "rawData不能为空")] public string RawData { get; set; } /// /// 签名 /// [Required(ErrorMessage = "signature不能为空")] public string Signature { get; set; } /// /// 邀请码 (可选) /// public string? InviteCode { get; set; } } /// /// 微信注册输出参数 /// public class WeChatRegisterOutput { /// /// 用户ID /// public long UserId { get; set; } /// /// 昵称 /// public string Nickname { get; set; } /// /// 头像URL /// public string AvatarUrl { get; set; } /// /// 注册时间 /// public DateTime RegisterTime { get; set; } } /// /// 微信重置密码输入参数 /// public class WeChatResetPasswordInput { /// /// OpenId /// [Required(ErrorMessage = "openid不能为空")] public string Openid { get; set; } /// /// 加密数据 /// [Required(ErrorMessage = "encryptedData不能为空")] public string EncryptedData { get; set; } /// /// 初始向量 /// [Required(ErrorMessage = "iv不能为空")] public string Iv { get; set; } /// /// 邮箱 (可选) /// public string? Email { get; set; } /// /// 短信验证码 (可选) /// public string? SmsCode { get; set; } } /// /// 微信重置密码输出参数 /// public class WeChatResetPasswordOutput { /// /// 重置令牌 /// public string ResetToken { get; set; } /// /// 过期时间 /// public DateTime ExpireTime { get; set; } /// /// 发送渠道 (email/sms) /// public string SendChannel { get; set; } } /// /// 微信用户信息 /// public class WeChatUserInfo { /// /// OpenId /// public string OpenId { get; set; } /// /// 昵称 /// public string NickName { get; set; } /// /// 性别 /// public int Gender { get; set; } /// /// 城市 /// public string City { get; set; } /// /// 省份 /// public string Province { get; set; } /// /// 国家 /// public string Country { get; set; } /// /// 头像URL /// public string AvatarUrl { get; set; } /// /// UnionId /// public string UnionId { get; set; } /// /// 水印 /// public Watermark Watermark { get; set; } } /// /// 水印信息 /// public class Watermark { /// /// 时间戳 /// public long Timestamp { get; set; } /// /// AppId /// public string Appid { get; set; } }