51 lines
2.0 KiB
C
51 lines
2.0 KiB
C
|
|
//
|
||
|
|
// 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
|