134 lines
3.3 KiB
C#
134 lines
3.3 KiB
C#
|
|
using System.ComponentModel.DataAnnotations;
|
||
|
|
|
||
|
|
namespace YD_Event.Application.Client.Dtos;
|
||
|
|
|
||
|
|
public class WeChatLoginInput
|
||
|
|
{
|
||
|
|
/// <summary>
|
||
|
|
/// 微信临时授权码
|
||
|
|
/// </summary>
|
||
|
|
[Required(ErrorMessage = "code不能为空")]
|
||
|
|
public string Code { get; set; }
|
||
|
|
|
||
|
|
/// <summary>
|
||
|
|
/// 加密数据
|
||
|
|
/// </summary>
|
||
|
|
[Required(ErrorMessage = "encryptedData不能为空")]
|
||
|
|
public string EncryptedData { get; set; }
|
||
|
|
|
||
|
|
/// <summary>
|
||
|
|
/// 初始向量
|
||
|
|
/// </summary>
|
||
|
|
[Required(ErrorMessage = "iv不能为空")]
|
||
|
|
public string Iv { get; set; }
|
||
|
|
|
||
|
|
/// <summary>
|
||
|
|
/// 原始数据
|
||
|
|
/// </summary>
|
||
|
|
[Required(ErrorMessage = "rawData不能为空")]
|
||
|
|
public string RawData { get; set; }
|
||
|
|
|
||
|
|
/// <summary>
|
||
|
|
/// 签名
|
||
|
|
/// </summary>
|
||
|
|
[Required(ErrorMessage = "signature不能为空")]
|
||
|
|
public string Signature { get; set; }
|
||
|
|
}
|
||
|
|
|
||
|
|
public class WeChatLoginOutput
|
||
|
|
{
|
||
|
|
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
|
||
|
|
{
|
||
|
|
/// <summary>
|
||
|
|
/// OpenId
|
||
|
|
/// </summary>
|
||
|
|
[Required(ErrorMessage = "openid不能为空")]
|
||
|
|
public string Openid { get; set; }
|
||
|
|
|
||
|
|
/// <summary>
|
||
|
|
/// 加密数据
|
||
|
|
/// </summary>
|
||
|
|
[Required(ErrorMessage = "encryptedData不能为空")]
|
||
|
|
public string EncryptedData { get; set; }
|
||
|
|
|
||
|
|
/// <summary>
|
||
|
|
/// 初始向量
|
||
|
|
/// </summary>
|
||
|
|
[Required(ErrorMessage = "iv不能为空")]
|
||
|
|
public string Iv { get; set; }
|
||
|
|
|
||
|
|
/// <summary>
|
||
|
|
/// 原始数据
|
||
|
|
/// </summary>
|
||
|
|
[Required(ErrorMessage = "rawData不能为空")]
|
||
|
|
public string RawData { get; set; }
|
||
|
|
|
||
|
|
/// <summary>
|
||
|
|
/// 签名
|
||
|
|
/// </summary>
|
||
|
|
[Required(ErrorMessage = "signature不能为空")]
|
||
|
|
public string Signature { get; set; }
|
||
|
|
|
||
|
|
/// <summary>
|
||
|
|
/// 邀请码 (可选)
|
||
|
|
/// </summary>
|
||
|
|
public string? InviteCode { get; set; }
|
||
|
|
}
|
||
|
|
|
||
|
|
public class WeChatRegisterOutput
|
||
|
|
{
|
||
|
|
public long UserId { get; set; }
|
||
|
|
public string Nickname { get; set; }
|
||
|
|
public string AvatarUrl { get; set; }
|
||
|
|
public DateTime RegisterTime { get; set; }
|
||
|
|
}
|
||
|
|
|
||
|
|
public class WeChatResetPasswordInput
|
||
|
|
{
|
||
|
|
[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; }
|
||
|
|
public string SendChannel { get; set; } // "email" or "sms"
|
||
|
|
}
|
||
|
|
|
||
|
|
public class WeChatUserInfo
|
||
|
|
{
|
||
|
|
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; }
|
||
|
|
public string AvatarUrl { get; set; }
|
||
|
|
public string UnionId { get; set; }
|
||
|
|
public Watermark Watermark { get; set; }
|
||
|
|
}
|
||
|
|
|
||
|
|
public class Watermark
|
||
|
|
{
|
||
|
|
public long Timestamp { get; set; }
|
||
|
|
public string Appid { get; set; }
|
||
|
|
}
|