using System.Text.Json.Serialization;

namespace HoneyBox.Model.Models.Auth;

/// <summary>
/// 微信手机号快速验证登录请求
/// </summary>
public class WechatPhoneLoginRequest
{
    /// <summary>
    /// 微信手机号授权code（getPhoneNumber返回的code）
    /// </summary>
    [JsonPropertyName("phoneCode")]
    public string PhoneCode { get; set; } = string.Empty;

    /// <summary>
    /// 微信登录code（uni.login返回的code，用于获取openid）
    /// </summary>
    [JsonPropertyName("loginCode")]
    public string? LoginCode { get; set; }

    /// <summary>
    /// 推荐人ID（前端可能传空字符串，所以用string接收）
    /// </summary>
    [JsonPropertyName("pid")]
    public string? PidStr { get; set; }

    /// <summary>
    /// 获取推荐人ID（转换为int）
    /// </summary>
    [JsonIgnore]
    public int? Pid => string.IsNullOrWhiteSpace(PidStr) ? null : int.TryParse(PidStr, out var pid) ? pid : null;
}
