package com.fs.wxcid.dto.login;

import com.alibaba.fastjson.annotation.JSONField;
import lombok.Data;

/**
 * 检查登录状态接口的 Data 部分响应结构
 */
@Data
public class LoginStatusResponseData {

    /**
     * 会话有效时间（秒）
     */
    @JSONField(name = "effective_time")
    private int effectiveTime;

    /**
     * 返回码（0 表示成功）
     */
    @JSONField(name = "ret")
    private int ret;

    /**
     * 状态消息（如“登录成功”）
     */
    @JSONField(name = "msg")
    private String msg;

    /**
     * 未知字段（保留以兼容协议）
     */
    @JSONField(name = "unknow")
    private long unknow;

    /**
     * 票据（通常为空）
     */
    @JSONField(name = "ticket")
    private String ticket;

    /**
     * 推送登录 URL 的过期时间（毫秒）
     */
    @JSONField(name = "push_login_url_expired_time")
    private long pushLoginUrlExpiredTime;

    /**
     * 是否有其他设备已在服务器登录
     */
    @JSONField(name = "othersInServerLogin")
    private boolean othersInServerLogin;

    /**
     * 用户的微信 ID（wxid_xxx）
     */
    @JSONField(name = "wxid")
    private String wxid;

    /**
     * 目标服务器 IP（通常为空）
     */
    @JSONField(name = "tarGetServerIp")
    private String tarGetServerIp;

    /**
     * 登录会话的 UUID（用于标识本次扫码）
     */
    @JSONField(name = "uuid")
    private String uuid;

    /**
     * 备用 UUID 字段（通常为空）
     */
    @JSONField(name = "uuId")
    private String uuId;

    /**
     * 新设备登录密码（用于自动化登录）
     */
    @JSONField(name = "wxnewpass")
    private String wxnewpass;

    /**
     * 用户昵称
     */
    @JSONField(name = "nick_name")
    private String nickName;

    /**
     * 用户 data62 信息（通常为空）
     */
    @JSONField(name = "data62")
    private String data62;

    /**
     * 登录状态码（2 表示已登录）
     */
    @JSONField(name = "state")
    private int state;

    /**
     * 登录设备类型（如 "android"）
     */
    @JSONField(name = "device")
    private String device;

    /**
     * 用户头像 URL
     */
    @JSONField(name = "head_img_url")
    private String headImgUrl;
}