package com.rdiot.yx485.bean


import com.rdiot.yx485.base.LocalData
import kotlinx.serialization.SerialName
import kotlinx.serialization.Serializable

/**
 * 登录数据
 * @author mR2hao
 * @date 2022/11/19
 */
@Serializable
data class LoginData(
    /**
     * 访问令牌
     */
    @SerialName("access_token")
    var accessToken: String = "",
    /**
     * app是否首次登录
     */
    @SerialName("app_first_login")
    var appFirstLogin: Boolean = false,

    /**
     * 令牌到期时间
     */
    @SerialName("expires_at")
    var expiresAt: Int = 0,

    /**
     * 令牌类型
     */
    @SerialName("token_type")
    var tokenType: String = ""
) : java.io.Serializable {

    companion object {
        /** 清除本地 */
        fun clearLocal() {
            LocalData.loginData = null
        }

        private const val serialVersionUID = -98L
    }

    /** 本地保存 */
    fun saveLocal(): LoginData {
        LocalData.loginData = this
        return this
    }

}

