12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061 |
- //
- // RQDataBaseManager.h
- // jiaPei
- //
- // Created by 张嵘 on 2018/12/4.
- // Copyright © 2018 JCZ. All rights reserved.
- //
- #import <Foundation/Foundation.h>
- NS_ASSUME_NONNULL_BEGIN
- #define kRQDownloadDataBaseManager [RQDataBaseManager shareManager]
- /************************* 下载 *************************/
- UIKIT_EXTERN NSString * const RQDownloadProgressNotification; // 进度回调通知
- UIKIT_EXTERN NSString * const RQDownloadStateChangeNotification; // 状态改变通知
- UIKIT_EXTERN NSString * const RQDownloadMaxConcurrentCountKey; // 最大同时下载数量key
- UIKIT_EXTERN NSString * const RQDownloadMaxConcurrentCountChangeNotification; // 最大同时下载数量改变通知
- UIKIT_EXTERN NSString * const RQDownloadAllowsCellularAccessKey; // 是否允许蜂窝网络下载key
- UIKIT_EXTERN NSString * const RQDownloadAllowsCellularAccessChangeNotification; // 是否允许蜂窝网络下载改变通知
- /************************* 网络 *************************/
- UIKIT_EXTERN NSString * const RQNetworkingReachabilityDidChangeNotification; // 网络改变改变通知
- typedef NS_OPTIONS(NSUInteger, RQDBUpdateOption) {
- RQDBUpdateOptionState = 1 << 0, // 更新状态
- RQDBUpdateOptionLastStateTime = 1 << 1, // 更新状态最后改变的时间
- RQDBUpdateOptionResumeData = 1 << 2, // 更新下载的数据
- RQDBUpdateOptionProgressData = 1 << 3, // 更新进度数据(包含tmpFileSize、totalFileSize、progress、intervalFileSize、lastSpeedTime)
- RQDBUpdateOptionAllParam = 1 << 4 // 更新全部数据
- };
- @interface RQDataBaseManager : NSObject
- // 获取单例
- + (instancetype)shareManager;
- // 插入数据
- - (void)insertModel:(RQDownloadModel *)model;
- // 获取数据
- - (RQDownloadModel *)getModelWithUrl:(NSString *)url; // 根据url获取数据
- - (RQDownloadModel *)getWaitingModel; // 获取第一条等待的数据
- - (RQDownloadModel *)getLastDownloadingModel; // 获取最后一条正在下载的数据
- - (NSArray<RQDownloadModel *> *)getAllCacheData; // 获取所有数据
- - (NSArray<RQDownloadModel *> *)getAllDownloadingData; // 根据lastStateTime倒叙获取所有正在下载的数据
- - (NSArray<RQDownloadModel *> *)getAllDownloadedData; // 获取所有下载完成的数据
- - (NSArray<RQDownloadModel *> *)getAllUnDownloadedData; // 获取所有未下载完成的数据(包含正在下载、等待、暂停、错误)
- - (NSArray<RQDownloadModel *> *)getAllWaitingData; // 获取所有等待下载的数据
- // 更新数据
- - (void)updateWithModel:(RQDownloadModel *)model option:(RQDBUpdateOption)option;
- // 删除数据
- - (void)deleteModelWithUrl:(NSString *)url;
- @end
- NS_ASSUME_NONNULL_END
|