瀏覽代碼

1.因为接口getFileListByFolder 没有支持分页逻辑 文件分页处理暂停

huangxiaodong 8 月之前
父節點
當前提交
3cb9643d3b

+ 8 - 5
创维盒子/双子星云手机/Class/Set/previewFile/previewFileAndFolderSecondViewController.m

@@ -261,9 +261,9 @@
             [self.navigationController pushViewController:vc animated:YES];
             
             KWeakSelf
-            vc.didNeedToRegetDataFun = ^{
-                [weakSelf getFileListFun];
-            };
+//            vc.didNeedToRegetDataFun = ^{
+//                [weakSelf getFileListFun];
+//            };
         }
         else if([dataModel.type isEqualToString:@"audio"]){
             
@@ -276,9 +276,12 @@
             [self.navigationController pushViewController:vc animated:YES];
             
             KWeakSelf
-            vc.didNeedToRegetDataFun = ^{
-                [weakSelf getFileListFun];
+            vc.didNeedDeleteFile = ^(NSString * _Nonnull filePath) {
+                
             };
+//            vc.didNeedToRegetDataFun = ^{
+//                [weakSelf getFileListFun];
+//            };
         }
         else if([dataModel.type containsString:@"jpg"]){
 

+ 108 - 9
创维盒子/双子星云手机/Class/Set/previewFile/previewFileAndFolderViewController.m

@@ -24,6 +24,7 @@
 #import "videoPlayByAVPlayerViewController.h"
 #import "audioPlayerViewController.h"
 #import "imageDetailsScrollViewController.h"
+#import "MJRefresh.h"
 
 @interface previewFileAndFolderViewController ()<UITableViewDelegate,UITableViewDataSource,DZNEmptyDataSetSource, DZNEmptyDataSetDelegate>
 {
@@ -274,6 +275,17 @@
         //空数据引入第三方开源处理
         _tableView.emptyDataSetSource = self;
         _tableView.emptyDataSetDelegate = self;
+        
+        
+        // 下拉追加
+        MJRefreshAutoNormalFooter *footer = [MJRefreshAutoNormalFooter footerWithRefreshingBlock:^{
+            [self getMoreNetWorkData];
+        }];
+        
+        NSString *text =  NSLocalizedString(@"NAS_bottom_tip",nil);
+        [footer setTitle:text forState:MJRefreshStateNoMoreData];
+        _tableView.mj_footer = footer;
+
     }
     
     return _tableView;
@@ -343,7 +355,9 @@
     }
     
     self.defaultDiskPath = pathStr;
-    [self getFileListFun];
+    _curNASFileAudioMod = nil;
+    [self getFileListFun:NO];
+
     [self setTitleAfterGetdiskFun];
     [self hideDiskListVieFun];
 }
@@ -418,9 +432,10 @@
             [self.navigationController pushViewController:vc animated:YES];
             
             KWeakSelf
-            vc.didNeedToRegetDataFun = ^{
-                [weakSelf getFileListFun];
+            vc.didNeedDeleteFile = ^(NSString * _Nonnull filePath) {
+                [weakSelf deleteNetDataByFilePath:filePath];
             };
+
         }
         else if([dataModel.type isEqualToString:@"audio"]){
             
@@ -433,8 +448,8 @@
             [self.navigationController pushViewController:vc animated:YES];
             
             KWeakSelf
-            vc.didNeedToRegetDataFun = ^{
-                [weakSelf getFileListFun];
+            vc.didNeedDeleteFile = ^(NSString * _Nonnull filePath) {
+                [weakSelf deleteNetDataByFilePath:filePath];
             };
         }
         else if([dataModel.type containsString:@"jpg"]){
@@ -797,7 +812,7 @@
     [self checkFileTransferTask];
     
     if(!_curNASFileAudioMod){
-        [self getFileListFun];
+        [self getFileListFun:NO];
         [self queryShareSwitchFunFun];
     }
 }
@@ -891,7 +906,7 @@
 }
 
 #pragma mark 获取文件数据
-- (void)getFileListFun
+- (void)getFileListFun:(BOOL)isMoreDataType
 {
     NSMutableDictionary*paraDict = [NSMutableDictionary new];
     
@@ -911,19 +926,39 @@
         [paraDict setValue:_defaultDiskPath forKey:@"path"];
     }
     
+    if(!isMoreDataType){
+        self.pageIndex = 0;
+    }
+    else{
+        self.pageIndex ++;
+    }
+    
+//    [paraDict setValue:[NSNumber numberWithInteger:self.pageIndex] forKey:@"index"];
+//    [paraDict setValue:[NSNumber numberWithInteger:pageSizeNum] forKey:@"pageSize"];
+
+    
     [self showNewIndicatorHaveStrWithCanBack:YES canTouch:NO showText:NSLocalizedString(@"common_loading_tip",nil)];
     
     KWeakSelf
     [[netWorkManager shareInstance] cloudPhoneGETCallBackCode:@"getFileListByFolder" Parameters:paraDict success:^(id  _Nonnull responseObject) {
         [weakSelf removeNewIndicatorHaveStr];
-        weakSelf.curNASFileAudioMod = [[NASFileAndFolderModel alloc] initWithDictionary:responseObject error:nil];
+        [weakSelf.tableView.mj_footer endRefreshing];
+        NASFileAndFolderModel*NASFileAudioMod = [[NASFileAndFolderModel alloc] initWithDictionary:responseObject error:nil];
         
+        if(NASFileAudioMod.data.list.count < pageSizeNum){
+            [weakSelf.tableView.mj_footer endRefreshingWithNoMoreData];
+        }
+        
+        [weakSelf handelNetDataAfterFilterDataBy:NASFileAudioMod];
+
         if(weakSelf.curNASFileAudioMod && weakSelf.curNASFileAudioMod.status == 0){
             [weakSelf.tableView reloadData];
         }
         
     } failure:^(NSError * _Nonnull error) {
         [weakSelf removeNewIndicatorHaveStr];
+        [weakSelf.tableView.mj_footer endRefreshing];
+
         if([AFNetworkReachabilityManager sharedManager].networkReachabilityStatus == AFNetworkReachabilityStatusNotReachable)
         {
             [[iToast makeText:NSLocalizedString(@"phone_network_fail_Tips",nil)] show];
@@ -935,6 +970,34 @@
     }];
 }
 
+#pragma mark 上拉或者点击更多数据
+- (void)getMoreNetWorkData
+{
+    [self getFileListFun:YES];
+}
+
+#pragma mark 分页数据组装
+- (void)handelNetDataAfterFilterDataBy:(NASFileAndFolderModel*)NASFileAudioMod
+{
+    if(_curNASFileAudioMod && _curNASFileAudioMod.data && _curNASFileAudioMod.data.list){
+        NSMutableArray *handelDataArr = [NSMutableArray arrayWithArray:_curNASFileAudioMod.data.list];//旧数据
+        [handelDataArr addObjectsFromArray:NASFileAudioMod.data.list];//新数据
+        
+        _curNASFileAudioMod.data.list = (NSArray<NASFileAndFolderDataModel>*)handelDataArr;
+    }
+    else{
+        _curNASFileAudioMod = NASFileAudioMod;
+    }
+    
+    if(_curNASFileAudioMod.data.list.count == 0 ){
+        self.tableView.mj_footer.hidden = YES;
+    }
+    else{
+        self.tableView.mj_footer.hidden = NO;
+    }
+}
+
+
 #pragma mark 调整文件上传
 - (void)gotoUploadFileFunWith:(NSInteger)tag
 {
@@ -1075,12 +1138,48 @@
         [[lastFileManager shareManager] deleteFileInfoWithUrl:dataModel.path];
     }
     
+    //2.删除已经获取到的网络数据
+    [self deleteNetDataByDeleteSucFun];
+
     [_didSelectListArr removeAllObjects];
     [self setEditTypeTitleFun];
     
-    [self getFileListFun];
 }
 
+#pragma mark 删除成功后 对应删除原来获取的网络数据
+- (void)deleteNetDataByDeleteSucFun
+{
+    NSMutableArray *afterFilterArr = [NSMutableArray new];
+    for (NASFileAndFolderDataModel *model in _curNASFileAudioMod.data.list) {
+        if (!model.isSelectType) {
+            [afterFilterArr addObject:model];
+        }
+    }
+    
+    _curNASFileAudioMod.data.list = (NSArray<NASFileAndFolderDataModel>*)afterFilterArr;
+    
+    [self.tableView reloadData];
+}
+
+#pragma mark 图片详情删除成功后 对应删除原来获取的网络数据
+- (void)deleteNetDataByFilePath:(NSString*)filePath
+{
+    if(!filePath || filePath.length == 0){
+        return;
+    }
+    
+    NSMutableArray *afterFilterArr = [NSMutableArray new];
+    for (NASFileAndFolderDataModel *model in _curNASFileAudioMod.data.list) {
+        if (![model.path isEqualToString:filePath]) {
+            [afterFilterArr addObject:model];
+        }
+    }
+    
+    _curNASFileAudioMod.data.list = (NSArray<NASFileAndFolderDataModel>*)afterFilterArr;
+    [self.tableView reloadData];
+}
+
+
 #pragma mark 获取分享开关
 -(void)queryShareSwitchFunFun
 {

+ 8 - 0
创维盒子/双子星云手机/cloudPhone/websocket/RCCommandHelp.m

@@ -1312,6 +1312,10 @@ withType:(BOOL)isUploadType
             H_PHONE = H_PHONE * scale;
             H_PHONE = ((int)(H_PHONE/8)) *8;
         }
+        
+        //test code
+//        H_PHONE = 1080;
+//        W_PHONE = 1920.0;
     }
     else{//竖屏
         CGFloat scale = 1080.0/W_PHONE;
@@ -1326,6 +1330,10 @@ withType:(BOOL)isUploadType
             W_PHONE = W_PHONE * scale;
             W_PHONE = ((int)(W_PHONE/8)) *8;
         }
+        
+        //test code
+//        H_PHONE = 1920;
+//        W_PHONE = 1080.0;
     }
     
     return CGSizeMake(W_PHONE, H_PHONE);