58 lines
1.4 KiB
Swift
58 lines
1.4 KiB
Swift
|
|
//
|
|||
|
|
// NoticeModels.swift
|
|||
|
|
// Crush
|
|||
|
|
//
|
|||
|
|
// Created by Leon on 2025/8/28.
|
|||
|
|
//
|
|||
|
|
|
|||
|
|
struct MessageStat: Codable {
|
|||
|
|
var unRead: Int?
|
|||
|
|
var latestContent: String?
|
|||
|
|
/// 时间戳
|
|||
|
|
var latestTime: Int?
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
struct MessageNotice: Codable {
|
|||
|
|
var id: Int? // 消息ID
|
|||
|
|
var sendUserId: Int? // 发送人用户ID
|
|||
|
|
var type: MessageType? // 消息类型
|
|||
|
|
var bizId: String? // 业务ID
|
|||
|
|
var status: Int? // 消息状态(0未读、1已读)
|
|||
|
|
var title: String? // 消息标题
|
|||
|
|
var content: String? // 消息内容
|
|||
|
|
/// "{\"aiId\":439059452002305}"
|
|||
|
|
var extras: String? // 消息扩展内容
|
|||
|
|
var replaceJson: String? // 国际化翻译替换数据
|
|||
|
|
var createTime: Int?
|
|||
|
|
|
|||
|
|
func getExtra() -> MessageNoticeExtra?{
|
|||
|
|
guard let extrasString = extras, extrasString.count > 0 else{
|
|||
|
|
return nil
|
|||
|
|
}
|
|||
|
|
return CodableHelper.decode(MessageNoticeExtra.self, from: extrasString)
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
struct MessageNoticeExtra: Codable{
|
|||
|
|
var aiId: Int?
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
enum MessageType: Int, Codable{
|
|||
|
|
case loginWelcome = 100
|
|||
|
|
case aiwelcomeGreeting = 101
|
|||
|
|
case vipRenewSuccess = 102
|
|||
|
|
case vipRenewFail = 103
|
|||
|
|
case myAiGifted = 104
|
|||
|
|
case myAiAlbumPhotoUnlock = 105
|
|||
|
|
case heartBeatLevelDown = 106
|
|||
|
|
|
|||
|
|
func hasNoCheckEntrance()-> Bool{
|
|||
|
|
switch self{
|
|||
|
|
case .loginWelcome, .aiwelcomeGreeting:
|
|||
|
|
return true
|
|||
|
|
default:
|
|||
|
|
return false
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
}
|