boxDownloadFileManager.h 2.6 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465
  1. //
  2. // boxDownloadFileManager.h
  3. // Private-X
  4. //
  5. // Created by xd h on 2024/5/24.
  6. //
  7. #import <Foundation/Foundation.h>
  8. #import "queryOneShareModel.h"
  9. #import "uploadFileManager.h"
  10. //#import "mixDownloadManager.h"
  11. #import "customDownloadManager.h"
  12. #import "customDownloadCacheManager.h"
  13. NS_ASSUME_NONNULL_BEGIN
  14. //【IOS端】音频进行下载,下载列表提示下载到文件里,查看部分文件未成功下载到文件里
  15. //问题原因:在下载音频类(即是要保存到文件app的)文件--- UIDocumentPickerViewController 弹出来后不再处理下一个 意味着快速下载完几个任务 在完成后只能保存到一个到文件 其他的因为任务完成了 不再处理保存流程
  16. //解决方案:创建本地持久化 每次收到下载完成通知:
  17. //1.先做数据保存
  18. //2.然后再处理文件保存流程
  19. //3.删除此次保存数据
  20. //4.UIDocumentPickerViewController 保存后访问本地持久化 查询还有没有没处理的任务
  21. #define share_box_download_tableName [[NSString alloc] initWithFormat:@"share_download_tableName_%@",ksharedAppDelegate.DeviceThirdIdMod.data.sn]
  22. @interface boxDownloadFileManager : NSObject
  23. +(boxDownloadFileManager *)shareInstance;
  24. //数据库数据
  25. @property (nonatomic, strong) NSMutableArray * _Nullable databaseArr;
  26. @property (nonatomic, assign) BOOL isFirstAutoStartType;//启动第一次需要重新开启
  27. @property (nonatomic, strong) NSMutableDictionary * _Nullable downloadDoneList;
  28. //添加保存记录 NSArray<ShareFileDataModel>* fileListVOS;
  29. - (void)addBoxDownloadRecordFunBy:(NSArray*)arr complete:(custom_complete_B)complete;
  30. #pragma mark 读取数据库数据
  31. - (void)getDataInDatabaseFun:(BOOL)isReGet complete:(custom_complete_Arr)complete;
  32. #pragma mark 删除本地数据库记录
  33. - (void)deleteBoxSaveFileRecordBy:(NSMutableArray *)delArr;
  34. #pragma mark 更新本地数据库记录
  35. - (void)updataBoxSaveDataInFailBy:(ShareFileDataModel*)dataModel;
  36. #pragma mark 开始下载文件 ShareFileDataModel
  37. - (void)beginDownloadFilesByUrls:(NSArray *)urlArr;
  38. #pragma mark 全部暂停 或者暂停某一个
  39. - (void)suspendDownloadFileFun:(BOOL)isSuspendAll withModel:(ShareFileDataModel*)dataModel;
  40. #pragma mark 重新开始下载 arr 目前只支持一个的情况
  41. - (void)reDownloadFileFunBy:(NSMutableArray*)arr withAll:(BOOL)isAllType;
  42. #pragma mark 重新开始下载 第一次进去传输列表是用
  43. - (void)firstReDownloadAllFileFun;
  44. #pragma mark-保存完成后 删除此次信息 download done plist
  45. - (void)deleteDownloadDonePlistInfoBy:(NSString*)fullPath;
  46. #pragma mark-查询还有没有没处理的任务
  47. - (void)checkDownloadDonePlistInfoFun;
  48. @end
  49. NS_ASSUME_NONNULL_END