using System.ComponentModel.DataAnnotations;
namespace SimpleAdmin.Api.WeChat.Dtos;
public class WxLoginQrcodeOutput
{
/// PC 端轮询用的扫码 key(与二维码 scene 一致)。
public string LoginKey { get; set; } = string.Empty;
public string QrCodeUrl { get; set; } = string.Empty;
public int ExpiresIn { get; set; } = 600;
}
public class WxLoginStatusOutput
{
public bool Ready { get; set; }
public string? Account { get; set; }
}
public class WeChatOAuthCodeInput
{
[Required]
public string Code { get; set; } = string.Empty;
}
public class WeChatOAuthUserInfoOutput
{
public string Openid { get; set; } = string.Empty;
public string? Nickname { get; set; }
public int Sex { get; set; }
public string? Province { get; set; }
public string? City { get; set; }
public string? Country { get; set; }
public string? Headimgurl { get; set; }
public string? Unionid { get; set; }
public bool AlreadyBound { get; set; }
}
public class WeChatProfileInput
{
[Required]
public string Openid { get; set; } = string.Empty;
public string? Nickname { get; set; }
public string? Avatar { get; set; }
public string? Unionid { get; set; }
}
public class WeChatCustomerRegisterInput
{
public string? CustomerCode { get; set; }
[Required]
public string CustomerName { get; set; } = string.Empty;
/// 可选;下单前再补全。
[StringLength(16)]
public string? Phone { get; set; }
/// 可选;下单前再补全。
[EmailAddress]
[StringLength(64)]
public string? Email { get; set; }
[Required]
[MinLength(6)]
public string Password { get; set; } = string.Empty;
///
/// 邀请码(可选)。来自邀请链接 / 二维码 ?ref=,注册时一次性绑定引荐人。
///
public string? InviteCode { get; set; }
[Required]
public WeChatProfileInput Wechat { get; set; } = new();
}
public class WeChatCustomerRegisterOutput
{
public string CustomerCode { get; set; } = string.Empty;
}
public class WeChatCustomerBindInput
{
[Required]
public string Account { get; set; } = string.Empty;
[Required]
public string Password { get; set; } = string.Empty;
[Required]
public WeChatProfileInput Wechat { get; set; } = new();
}