RQDownloadModel.h 2.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778
  1. //
  2. // RQDownloadModel.h
  3. // TEST
  4. //
  5. // Created by 张嵘 on 2018/10/22.
  6. // Copyright © 2018 张嵘. All rights reserved.
  7. //
  8. #import <Foundation/Foundation.h>
  9. @class RQDownloadOperation;
  10. @class RQDownloadModel;
  11. //下载状态
  12. typedef NS_ENUM(NSUInteger, RQDownloadStatus) {
  13. RQDownloadStatus_None = 0, // 无状态
  14. RQDownloadStatus_Running = 1, // 正在下载
  15. RQDownloadStatus_Suspended = 2, // 下载暂停
  16. RQDownloadStatus_Completed = 3, // 下载完成
  17. RQDownloadStatus_Failed = 4, // 下载失败
  18. RQDownloadStatus_Waiting = 5, // 等待下载
  19. RQDownloadStatus_Cancel = 6, // 取消下载
  20. };
  21. //下载状态改变回调
  22. typedef void(^DownloadStatusChanged)(RQDownloadModel *downloadModel);
  23. //下载进度回调
  24. typedef void(^DownloadProgressChanged)(RQDownloadModel *downloadModel);
  25. @interface RQDownloadModel : NSObject <NSCoding>
  26. @property (nonatomic, copy) NSString * imageUrl;
  27. @property (nonatomic, copy) NSString * title;
  28. @property (nonatomic, copy) NSString * content;
  29. @property (nonatomic ,copy) NSString * urlString;
  30. @property (nonatomic, copy) NSString * downloadDesc;//下载描述信息
  31. @property (nonatomic, copy) NSString * fileName;
  32. @property (nonatomic, copy) NSString * fileFormat;
  33. @property (nonatomic, copy) NSString * destinationPath;//文件存放地址
  34. @property (nonatomic, strong) RQDownloadOperation * operation;//下载操作
  35. @property (nonatomic, assign) CGFloat progress;
  36. @property (nonatomic, assign) RQDownloadStatus status;
  37. @property (nonatomic, copy) NSString * statusText;
  38. @property (nonatomic, copy) NSString * completeTime;//下载完成时间
  39. @property (nonatomic, copy) DownloadStatusChanged statusChanged;//状态改变回调
  40. @property (nonatomic, copy) DownloadProgressChanged progressChanged;//进度改变回调
  41. @property (nonatomic, assign) BOOL isLast;//数组最后一个模型
  42. /** 文件总大小 */
  43. @property (nonatomic, assign) NSInteger fileTotalSize;
  44. /** 已下载文件大小 */
  45. @property (nonatomic, assign) NSInteger fileDownloadSize;
  46. /** 输出流 */
  47. @property (nonatomic, strong) NSOutputStream *stream;
  48. /** 下载完成 */
  49. @property (nonatomic, assign) BOOL isFinished;
  50. @end