123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081 |
- //
- // nasDownloadFileManager.h
- // 双子星云手机
- //
- // Created by xd h on 2024/8/5.
- //
- #import <Foundation/Foundation.h>
- #import "queryOneShareModel.h"
- #import "nasDownloadManager.h"
- #import "customDownloadCacheManager.h"
- //#import "uploadFileManager.h"
- #import "couldPhoneFileListModel.h"
- NS_ASSUME_NONNULL_BEGIN
- //【IOS端】音频进行下载,下载列表提示下载到文件里,查看部分文件未成功下载到文件里
- //问题原因:在下载音频类(即是要保存到文件app的)文件--- UIDocumentPickerViewController 弹出来后不再处理下一个 意味着快速下载完几个任务 在完成后只能保存到一个到文件 其他的因为任务完成了 不再处理保存流程
- //解决方案:创建本地持久化 每次收到下载完成通知:
- //1.先做数据保存
- //2.然后再处理文件保存流程
- //3.删除此次保存数据
- //4.UIDocumentPickerViewController 保存后访问本地持久化 查询还有没有没处理的任务
- #define nas_box_download_tableName [[NSString alloc] initWithFormat:@"download_tableName_%@",ksharedAppDelegate.DeviceThirdIdMod.data.sn]
- @interface nasDownloadFileManager : NSObject
- +(nasDownloadFileManager *)shareInstance;
- //数据库数据
- @property (nonatomic, strong) NSMutableArray * _Nullable databaseArr;
- @property (nonatomic, strong) NSMutableArray * _Nullable downLoadFileModelDataArr;
- @property (nonatomic, assign) BOOL isFirstAutoStartType;//启动第一次需要重新开启
- @property (nonatomic, strong) NSMutableDictionary * _Nullable downloadDoneList;
- @property (nonatomic, strong) NSMutableArray * _Nullable netWorkFailSaveArr;
- @property (nonatomic, assign) BOOL needToReDownloadTaskType;//
- //添加保存记录 NSArray<couldPhoneFileModel>* fileListVOS;
- - (void)addNasDownloadRecordFunBy:(NSArray*)arr complete:(custom_complete_Arr)complete;
- #pragma mark 读取数据库数据
- - (void)getDataInDatabaseFun:(BOOL)isReGet complete:(custom_complete_Arr)complete;
- #pragma mark 删除本地数据库记录
- - (void)deleteBoxSaveFileRecordBy:(NSMutableArray *)delArr;
- //删除本地数据库记录
- - (void)deleteDownloadFileRecordBy:(NSMutableArray *)delArr withDelCache:(BOOL)isDelCache;
- //删除本地数据库记录
- - (void)deleteDownloadFileRecordBy:(NSMutableArray *)delArr withDelCache:(BOOL)isDelCache withAll:(BOOL)isAllType;
- #pragma mark 更新本地数据库记录
- - (void)updataBoxSaveDataInFailBy:(couldPhoneFileModel*)dataModel;
- #pragma mark 开始下载文件 couldPhoneFileModel
- - (void)beginDownloadFilesByUrls:(NSArray *)urlArr;
- #pragma mark 全部暂停 或者暂停某一个
- - (void)suspendDownloadFileFun:(BOOL)isSuspendAll withModel:(couldPhoneFileModel*)dataModel;
- #pragma mark 重新开始下载 arr 目前只支持一个的情况
- - (void)reDownloadFileFunBy:(NSMutableArray*)arr withAll:(BOOL)isAllType;
- #pragma mark 重新开始下载 第一次进去传输列表是用
- - (void)firstReDownloadAllFileFun;
- #pragma mark 检测是否有任务下载中或者暂停
- - (void)checkHadDownloadTaskWithComplete:(custom_complete_B)complete;
- #pragma mark-保存完成后 删除此次信息 download done plist
- - (void)deleteDownloadDonePlistInfoBy:(NSString*)fullPath;
- #pragma mark-查询还有没有没处理的任务
- - (void)checkDownloadDonePlistInfoFun;
- //网络失败后任务暂时保存
- - (void)saveDownloadloadingTaskByNetWorkErrorFun;
- //重新上传网络失败的任务
- - (void)reDownloadloadFileFunByNetWork;
- @end
- NS_ASSUME_NONNULL_END
|