Explorar el Código

1.【IOS端】文件已删除,进行下载下载状态未刷新

huangxiaodong hace 11 meses
padre
commit
2172411f78

+ 2 - 2
创维盒子/双子星云手机.xcodeproj/project.pbxproj

@@ -5254,7 +5254,7 @@
 				CODE_SIGN_IDENTITY = "Apple Development";
 				"CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer";
 				CODE_SIGN_STYLE = Manual;
-				CURRENT_PROJECT_VERSION = 4;
+				CURRENT_PROJECT_VERSION = 5;
 				DEVELOPMENT_TEAM = "";
 				"DEVELOPMENT_TEAM[sdk=iphoneos*]" = 6SV76WTUUR;
 				FRAMEWORK_SEARCH_PATHS = (
@@ -5335,7 +5335,7 @@
 				CODE_SIGN_IDENTITY = "Apple Development";
 				"CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer";
 				CODE_SIGN_STYLE = Manual;
-				CURRENT_PROJECT_VERSION = 4;
+				CURRENT_PROJECT_VERSION = 5;
 				DEVELOPMENT_TEAM = "";
 				"DEVELOPMENT_TEAM[sdk=iphoneos*]" = 6SV76WTUUR;
 				FRAMEWORK_SEARCH_PATHS = (

+ 3 - 1
创维盒子/双子星云手机/Class/Set/uploadFile/customDownloadManager/customDownloadManager.m

@@ -356,6 +356,7 @@ totalBytesExpectedToSend:(int64_t)totalBytesExpectedToSend {
           
         if(statusCode == 404){
             operation.downloadState = customDownloadStateFailed;
+            operation.isFile404Cancel = YES;
             return NO;
         }
         
@@ -451,7 +452,8 @@ totalBytesExpectedToSend:(int64_t)totalBytesExpectedToSend {
         }
     }
     
-    if(error && error.code == -1005){//网络中断
+    if(error && error.code == -1005 && !operation.isFile404Cancel){//网络中断
+        HLog(@"reDownloadNetworkTaskBy");
         //延时几秒再次启动这个任务
         dispatch_after(dispatch_time(DISPATCH_TIME_NOW, (int64_t)(5 * NSEC_PER_SEC)), dispatch_get_main_queue(), ^{
             [self reDownloadNetworkTaskBy:operation.url];

+ 1 - 0
创维盒子/双子星云手机/Class/Set/uploadFile/customDownloadManager/customDownloadOperation.h

@@ -31,6 +31,7 @@ NS_ASSUME_NONNULL_BEGIN
 @property (nonatomic,strong,nullable)NSURLSessionDataTask *dataTask;
 
 @property(nonatomic,assign) BOOL isManualCancel;//手动取消
+@property(nonatomic,assign) BOOL isFile404Cancel;//请求文件返回404
 
 /** 文件句柄 可以记录文件的下载的位置 */
 @property (nonatomic,strong,nullable) NSFileHandle *handle;

+ 10 - 4
创维盒子/双子星云手机/Class/Set/uploadFile/uploadFileManager/boxDownloadFileManager.m

@@ -149,8 +149,12 @@ static boxDownloadFileManager * cur_boxDownloadFileShareInstance = nil;
         KWeakSelf
         //[ShareFileDataModel bg_saveOrUpdateArray:arr];
         [ShareFileDataModel bg_saveOrUpdateArrayAsync:addTaskArr complete:^(BOOL isSuccess) {
-            [weakSelf beginDownloadFilesByUrls:addTaskArr];
-            complete(isSuccess);
+            //保存完成重新读取数据库 这样下载中的任务才会完整
+            [weakSelf getDataInDatabaseFun:YES complete:^(NSMutableArray * _Nonnull Arr) {
+                [weakSelf beginDownloadFilesByUrls:addTaskArr];
+                complete(YES);
+            }];
+            
         }];
     }
     else{//任务下载中
@@ -399,15 +403,15 @@ static boxDownloadFileManager * cur_boxDownloadFileShareInstance = nil;
 
     if(_databaseArr && _databaseArr.count == 3 ){
         NSMutableArray *ingArr = _databaseArr[0];
+        HLog(@"%@",ingArr)
         for (ShareFileDataModel*dataModel in ingArr) {
             HLog(@"22222222 %@\n%@",urlString,dataModel.fileUrl);
             if([urlString isEqualToString:dataModel.fileUrl]){
-                [self handleDatabaseArrByDelete:dataModel];
                 
                 dataModel.downloadBoxStateType = downloadBoxStateFail;
-                
                 dataModel.failMsg = NSLocalizedString(@"File_download_error_404",nil);
                 
+                //失败里面添加
                 NSMutableArray *failArr = _databaseArr[2];
                 [failArr insertObject:dataModel atIndex:0];
                 
@@ -415,6 +419,8 @@ static boxDownloadFileManager * cur_boxDownloadFileShareInstance = nil;
                 [dataModel bg_saveOrUpdateAsync:^(BOOL isSuccess) {
                                     
                 }];
+                
+                [self deteleModel:dataModel inArr:ingArr];
                 break;
             }
         }