123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475 |
- //
- // mixDownloadManager.h
- // 双子星云手机
- //
- // Created by xd h on 2024/6/27.
- //
- #import <Foundation/Foundation.h>
- #import "mixDownloadOperation.h"
- NS_ASSUME_NONNULL_BEGIN
- #define KMixDownloadUID [mixDownloadManager shareManager].uid
- /** 下载中通知 */
- #define mixDownloadTaskExeing @"mixDownloadTaskExeing"
- /** 下载失败通知 */
- #define mixDownloadTaskExeError @"mixDownloadTaskExeError"
- /** 下载完成通知 */
- #define mixDownloadTaskExeEnd @"mixDownloadTaskExeEnd"
- /** 下载暂停/等待中通知 */
- #define mixDownloadTaskExeSuspend @"mixDownloadTaskExeSuspend"
- /** 删除下载任务通知 */
- #define mixDownloadTaskExeDelete @"mixDownloadTaskExeDelete"
- /** 移除loading通知 */
- #define SGDownloadRemoveLoading @"mixDownloadRemoveLoading"
- /**
- block 回调
- */
- typedef void(^MixDownloadBeginBlock)(NSString * filePath);
- typedef void(^MixDownloadProgressBlock)(NSInteger completeSize,NSInteger expectSize);
- typedef void(^MixDownloadCompleteBlock)(NSDictionary *respose,NSError *error);
- @interface mixDownloadManager : NSObject
- @property(nonatomic,strong) NSString *uid;//用户id 用来创建文件夹路径 防止不要用户的缓存关联
- /** 实例化对象(单例) */
- + (instancetype)shareManager;
- /** 获取全部下载任务 */
- - (NSMutableArray *)getAllOperation;
- #pragma mark - 添加下载任务同时开启任务下载
- /** 开启下载任务 监听完成下载 */
- - (void)downloadWithURL:(NSURL *)url
- complete:(MixDownloadCompleteBlock)complete;
- #pragma mark - 队列中的任务进行操作
- /** 开始任务(不会自动添加任务,列队中没有就直接返回) 后续改为会自动添加任务 */
- - (void)startDownLoadWithUrl:(NSString *)url;
- /** 暂停任务(暂停下载url内容的任务) */
- - (void)supendDownloadWithUrl:(NSString *)url;
- /** 取消任务(取消下载url内容的任务) */
- - (void)cancelDownloadWithUrl:(NSString *)url;
- /** 暂停当前所有的下载任务 下载任务不会从列队中删除 */
- - (void)suspendAllDownloadTask;
- /** 开启当前列队中所有被暂停的下载任务 */
- - (void)startAllDownloadTask;
- /** 停止当前所有的下载任务 调用此方法会清空所有列队下载任务 */
- - (void)stopAllDownloads;
- @end
- NS_ASSUME_NONNULL_END
|