//
//  IMChatSetting.swift

//
//  Created by Leon on 2025/8/26.
//

struct IMChatSetting: Codable {
    var aiId: Int? // ai的Id
    var nickname: String? // 昵称
    var sex: Sex? // 0,男;1,女;2,自定义
    var birthday: Int64? // 出生日期,时间戳格式
    var whoAmI: String? // 我是谁
    var modelCode: String? // 对话模型code
    var modelName: String? // 对话模型名称
    /// 聊天气泡code，CB0001
    var bubbleCode: String?
    var bubbleName: String? // 聊天气泡名称
    var backgroundImg: String? // 聊天背景图片
    var isAutoPlayVoice: Int? // 自动播放语音开关 1：开 0：关
    /// 是否是默认背景图
    var isDefaultBackground: Bool?
}

// MARK: - 解锁类型
enum UnlockType: String, Codable {
    case member = "MEMBER"               // 会员
    case heartbeatLevel = "HEARTBEAT_LEVEL" // 心动等级
}
// MARK: - 聊天气泡
struct IMChatBubble: Codable{
    var id: Int?                // id
    var code: String?           // code
    var name: String?           // 名称
    var color: String?          // 颜色 ?
    /// Android use
    var imgUrl: String?          // 图片url
    /// ⬇️ iOS Use
    var webImgUrl: String?
    var unlockType: UnlockType? // 解锁类型
    var unlockHeartbeatLevel: HeartbeatLevel? // 解锁心动等级
    var isUnlock: Bool?
    /// 是否默认
    var isDefault: Bool?
    
    func canUseTheBubble()->Bool{
        return isUnlock.boolValue || isDefault.boolValue
    }
}

struct IMChatBackground: Codable{
    var backgroundId: Int?   // 背景图片id
    var imgUrl: String?        // 图片地址
    /// "720"
    var width: String?         // 图片宽
    /// "1024"
    var height: String?        // 图片高
    var isDefault: Bool?       // 是否默认图片
    var isSelected: Bool?      // 是否选中图片
}
