Files
featherVoice/QXLive/Manager/QXRedPacketManager.h

51 lines
2.0 KiB
C
Raw Normal View History

2025-10-20 09:43:10 +08:00
//
// QXRedPacketManager.h
// QXLive
//
// Created by 启星 on 2025/10/11.
//
#import <Foundation/Foundation.h>
#import "QXRedPacketModel.h"
@class QXRedPacketManager;
@protocol QXRedPacketManagerDelegate <NSObject>
/// 推送添加单个红包回调
- (void)QXRedPacketManager:(QXRedPacketManager *)manager didAddRedPacket:(QXRedPacketModel *)redPacket remainingCount:(NSInteger)remainingCount;
/// 首次获取房间内红包列表进行添加后回调
- (void)QXRedPacketManager:(QXRedPacketManager *)manager didAddRedPackets:(NSArray<QXRedPacketModel *>*)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<NSString *, QXRedPacketModel *> *redPackets;
@property (nonatomic, weak) id<QXRedPacketManagerDelegate> delegate;
+ (instancetype)sharedManager;
/// 批量添加红包
- (void)addRedPackets:(NSArray<QXRedPacketModel *>*)redPackets;
/// 添加红包
- (void)addRedPacket:(QXRedPacketModel *)redPacket;
/// 移除红包
- (void)removeRedPacket:(NSString *)packetId;
/// 获取所有红包
- (NSArray<QXRedPacketModel *> *)allRedPackets;
/// 根据红包id获取红包
- (QXRedPacketModel *)getRedPacket:(NSString *)packetId;
/// 检查并更新红包状态
- (void)checkAndUpdateRedPackets;
/// 移除所有红包
-(void)removeAllRedpackets;
/// 开启定时器
-(void)startCheckTimer;
/// 销毁定时器
-(void)endCheckTimer;
/// 回收内存
-(void)destoryRedpacketInfo;
@end