// // XPMessageItem.h // YUMI // // Created by YUMI on 2024/12/19. // #import #import "XPMessageInfoModel.h" NS_ASSUME_NONNULL_BEGIN /** * DiffableDataSource 兼容的消息项模型 * 用于替代原有的多数据源架构,提供统一的消息管理 */ @interface XPMessageItem : NSObject /// 消息模型 @property (nonatomic, strong) XPMessageInfoModel *messageModel; /// 唯一标识符,用于 DiffableDataSource 的 itemIdentifier @property (nonatomic, strong) NSString *uniqueIdentifier; /// 时间戳,用于排序和清理 @property (nonatomic, assign) NSTimeInterval timestamp; /// 显示类型:1=所有消息, 2=聊天消息, 3=礼物消息 @property (nonatomic, assign) NSInteger displayType; /** * 初始化方法 * @param model 消息模型 * @param identifier 唯一标识符 */ - (instancetype)initWithMessageModel:(XPMessageInfoModel *)model uniqueIdentifier:(NSString *)identifier; /** * 判断是否为聊天消息 * @return YES 如果是聊天消息 */ - (BOOL)isChatMessage; /** * 判断是否为礼物消息 * @return YES 如果是礼物消息 */ - (BOOL)isGiftMessage; /** * 判断是否应该显示在指定类型中 * @param displayType 显示类型 * @return YES 如果应该显示 */ - (BOOL)shouldDisplayInType:(NSInteger)displayType; @end NS_ASSUME_NONNULL_END