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