// // QXRedPacketManager.h // QXLive // // Created by 启星 on 2025/10/11. // #import #import "QXRedPacketModel.h" @class QXRedPacketManager; @protocol QXRedPacketManagerDelegate /// 推送添加单个红包回调 - (void)QXRedPacketManager:(QXRedPacketManager *)manager didAddRedPacket:(QXRedPacketModel *)redPacket remainingCount:(NSInteger)remainingCount; /// 首次获取房间内红包列表进行添加后回调 - (void)QXRedPacketManager:(QXRedPacketManager *)manager didAddRedPackets:(NSArray*)redPackets remainingCount:(NSInteger)remainingCount; /// 红包从列表移除后的回调 - (void)QXRedPacketManager:(QXRedPacketManager *)manager didRemoveRedPacket:(NSString *)packetId remainingCount:(NSInteger)remainingCount; /// 红包状态发生变化时回调(由不可抢到可抢) - (void)QXRedPacketManager:(QXRedPacketManager *)manager didUpdateRedPacket:(QXRedPacketModel *)redPacket remainingCount:(NSInteger)remainingCount; /// 红包状态发生变化时回调(由不可抢到可抢) - (void)QXRedPacketManager:(QXRedPacketManager *)manager didUpdateRedPacketTime:(long)time redPacket:(QXRedPacketModel *)redPacket; @end @interface QXRedPacketManager : NSObject @property (nonatomic, strong, readonly) NSMutableDictionary *redPackets; @property (nonatomic, weak) id delegate; + (instancetype)sharedManager; /// 批量添加红包 - (void)addRedPackets:(NSArray*)redPackets; /// 添加红包 - (void)addRedPacket:(QXRedPacketModel *)redPacket; /// 移除红包 - (void)removeRedPacket:(NSString *)packetId; /// 获取所有红包 - (NSArray *)allRedPackets; /// 根据红包id获取红包 - (QXRedPacketModel *)getRedPacket:(NSString *)packetId; /// 检查并更新红包状态 - (void)checkAndUpdateRedPackets; /// 移除所有红包 -(void)removeAllRedpackets; /// 开启定时器 -(void)startCheckTimer; /// 销毁定时器 -(void)endCheckTimer; /// 回收内存 -(void)destoryRedpacketInfo; @end