package org.xyzh.common.core.domain;

import java.io.Serializable;
import java.util.Date;

import lombok.Data;

/**
 * @description    登录参数
 * @filename    登录参数
 * @author    yslg
 * @copyright yslg
 * @since 2025-11-02
 */
@Data
public class LoginParam implements Serializable {

    private static final long serialVersionUID = 1L;

    /**
     * 用户名
     * @author    yslg
     * @since 2025-11-02
     */
    private String username;
    /**
     * 密码
     * @author    yslg
     * @since 2025-11-02
     */
    private String password;
    /**
     * 邮箱
     * @author    yslg
     * @since 2025-11-02
     */
    private String email;
    /**
     * 手机号
     * @author    yslg
     * @since 2025-11-02
     */
    private String phone;
    /**
     * 微信ID
     * @author    yslg
     * @since 2025-11-02
     */
    private String wechatId;

     /**
     * 验证码类型
     * @author    yslg
     * @since 2025-11-02
     */
    private String captchaType;

    /**
     * 验证码
     * @author    yslg
     * @since 2025-11-02
     */
    private String captcha;
    /**
     * 验证码ID
     * @author    yslg
     * @since 2025-11-02
     */
    private String captchaId;
    /**
     * 登录类型
     * @author    yslg
     * @since 2025-11-02
     */
    private String loginType;
    /**
     * 是否记住我
     * @author    yslg
     * @since 2025-11-02
     */
    private Boolean rememberMe;

    /**
     * 客户端IP地址（用于Dubbo远程调用时传递，避免传递HttpServletRequest）
     * @author    yslg
     * @since 2025-12-23
     */
    private String clientIp;

    /**
     * 当前Token（用于Dubbo远程调用刷新/登出时传递）
     * @author    yslg
     * @since 2025-12-23
     */
    private String token;

}
