Selaa lähdekoodia

1.备份新接口

huangxiaodong 1 vuosi sitten
vanhempi
commit
dc62b61376

+ 34 - 2
创维盒子/双子星云手机/CloudPlayer/PlayerViewController+backupsFile.m

@@ -96,6 +96,7 @@
                                 fileLengthNum = data[@"fileLength"];
                             }
                             
+                            self.curBackupsPostion = [fileLengthNum longValue];
                             
                             if(self.curPhotosBackupsTaskMod.curUploadFileType == uploadFileTypeImage){
                                 
@@ -302,6 +303,7 @@
                         fileLengthNum = data[@"fileLenth"];
                     }
                     
+                    self.curBackupsPostion = [fileLengthNum longValue];
                     [self handleBackupsingFun:fileLengthNum];
                 }
             }
@@ -321,6 +323,13 @@
 #pragma mark 处理上传过程
 - (void)handleBackupsingFun:(NSNumber*)fileLengthNum
 {
+    //异常处理
+    if(fileLengthNum.longValue < 0)
+    {
+        return;
+    }
+
+    
     BOOL isCanUseCellular = [HWDataManager getBoolWithKey:stringKeyAddSn(Const_file_backups_canUse_Cellular)];
 
     if(!isCanUseCellular){//不允许流量备份
@@ -451,6 +460,24 @@
     return [NSData dataWithBytes:result length:sizeof(result)];
 }
 
+// long转NSData
+- (NSData *)long2Data:(long)i{
+    Byte b0 = i & 0xff;
+    Byte b1 = i >> 8 & 0xff;
+    Byte b2 = i >> 16 & 0xff;
+    Byte b3 = i >> 24 & 0xff;
+    Byte b4 = i >> 32 & 0xff;
+    Byte b5 = i >> 40 & 0xff;
+    Byte b6 = i >> 48 & 0xff;
+    Byte b7 = i >> 56 & 0xff;
+    
+    // 有大小端模式问题?
+    //Byte result[] = {b0, b1, b2, b3};
+    //Byte result[] = {b3, b2, b1, b0};
+    Byte result[] = {b7, b6, b5,b4,b3, b2, b1, b0};
+    return [NSData dataWithBytes:result length:sizeof(result)];
+}
+
 // short转NSData
 - (NSData *)short2Data:(short)i{
     Byte b0 = i & 0xff;
@@ -491,7 +518,8 @@
     //msgType
     //unsigned char msgType = 12;
     //unsigned char msgType = 15;
-    unsigned char msgType = 16;
+    //unsigned char msgType = 16;
+    unsigned char msgType = 21;
     NSData *msgTypeData = [NSMutableData dataWithBytes:&msgType length:sizeof(msgType)];
     //HLog(@"msgTypeData:%@",msgTypeData);
     
@@ -508,7 +536,7 @@
     
     
     //curNum
-    int curNum = (int)self.backupsIndexOfUploadFlie;
+    int curNum = (int)self.backupsIndexOfUploadFlie + 1;
     //NSData *curNumData = [NSData dataWithBytes:&curNum length:sizeof(curNum)];
     NSData * curNumData = [self int2Data:curNum];
     //HLog(@"curNumData:%@",curNumData);
@@ -519,6 +547,9 @@
     NSData * totalNumData = [self int2Data:totalNum];
     //HLog(@"totalNumData:%@",totalNumData);
     
+    long Postion = self.curBackupsPostion;
+    NSData * PostionData = [self long2Data:Postion];
+    HLog(@"PostionData:%@",PostionData);
 
     NSMutableData *checkBCCData = [NSMutableData new];
     [checkBCCData appendData:msgTypeData];
@@ -526,6 +557,7 @@
     [checkBCCData appendData:datalenData];
     [checkBCCData appendData:curNumData];
     [checkBCCData appendData:totalNumData];
+    [checkBCCData appendData:PostionData];
     [checkBCCData appendData:curData];
     
     long length = [curData length];

+ 1 - 0
创维盒子/双子星云手机/CloudPlayer/PlayerViewController.h

@@ -131,6 +131,7 @@
 @property (nonatomic, assign) NSInteger backupsIndexOfUploadFlie;
 //@property (nonatomic, assign) NSInteger cutFileEachPieceSzie;
 @property (nonatomic, strong) photosBackupsTaskModel *curPhotosBackupsTaskMod;
+@property (nonatomic, assign) long curBackupsPostion;//当前上次片的位置
 
 //下载缩略图用到
 @property (nonatomic, copy) NSString * _Nullable downloadThumbnailTaskUid;

+ 5 - 2
创维盒子/双子星云手机/CloudPlayer/PlayerViewController.mm

@@ -769,10 +769,13 @@ ComontAlretViewControllerDelegate>
                      ){/*文件上传得到答复*/
                 [weakSelf upLoadFileFunServiceResponseFun:dataDict];
             }
-            else if ([messageType isEqualToString:@"backUpFileRandomReady"]){/*文件备份得到答复*/
+            else if ([messageType isEqualToString:@"backUpFileRandomReady"]
+                     ||[messageType isEqualToString:@"backUpPartReady"]
+                     ){/*文件备份得到答复*/
                 [weakSelf applyBackupsFileServiceResponseFun:dataDict];
             }
-            else if ([messageType isEqualToString:@"backUpFileRandomRet"]){/*文件备份得到答复*/
+            else if ([messageType isEqualToString:@"backUpFileRandomRet"]
+                     ||[messageType isEqualToString:@"backUpFilePartRet"]){/*文件备份得到答复*/
                 [weakSelf backupsFileFunServiceResponseFun:dataDict];
             }
             else if ([messageType isEqualToString:@"getBaseInfo"]){/*获取云机的基本信息*/

+ 2 - 1
创维盒子/双子星云手机/CloudPlayer/RCCommandHelp.m

@@ -1013,7 +1013,8 @@
 + (NSString *)applyForBackupsFileBy:(NSString*)taskUid withFileName:(NSString *)fileName withSavePath:(NSString *)savePath
 {
     NSString *curPath = [[NSString alloc] initWithFormat:@"%@%@",savePath,fileName];
-    NSString *dataStr =[NSString stringWithFormat:@"{\"data\":{\"taskUid\":\"%@\",\"fileName\":\"%@\",\"savePath\":\"%@\"},\"type\":\"backUpFileRandom\"}",taskUid,fileName,curPath];
+    //NSString *dataStr =[NSString stringWithFormat:@"{\"data\":{\"taskUid\":\"%@\",\"fileName\":\"%@\",\"savePath\":\"%@\"},\"type\":\"backUpFileRandom\"}",taskUid,fileName,curPath];
+    NSString *dataStr =[NSString stringWithFormat:@"{\"data\":{\"taskUid\":\"%@\",\"fileName\":\"%@\",\"savePath\":\"%@\"},\"type\":\"backUpFilePart\"}",taskUid,fileName,curPath];
     
     if (USENEWCONTROLLCOMMONDNO500)
     {