Browse Source

1.视频预览分页处理完成

huangxiaodong 1 year ago
parent
commit
7c3e5a0d5f

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

@@ -299,7 +299,6 @@
             [self getMoreNetWorkData];
         }];
         
-        
         NSString *text =  NSLocalizedString(@"NAS_bottom_tip",nil);
         [footer setTitle:text forState:MJRefreshStateNoMoreData];
         _dataCollectionView.mj_footer = footer;
@@ -981,6 +980,11 @@
         [weakSelf.dataCollectionView.mj_footer endRefreshing];
         [weakSelf removeNewIndicatorHaveStr];
         NASFilePicModel*NASFilePicMod = [[NASFilePicModel alloc] initWithDictionary:responseObject error:nil];
+        
+        if(NASFilePicMod.data.fileList.count < pageSizeNum){
+            [weakSelf.dataCollectionView.mj_footer endRefreshingWithNoMoreData];
+        }
+        
         [weakSelf filterDataFun:NASFilePicMod];
         [weakSelf.dataCollectionView    reloadData];
     } failure:^(NSError * _Nonnull error) {

+ 1 - 1
创维盒子/双子星云手机/Class/Set/previewFile/videoPlayByAVPlayerViewController.h

@@ -14,7 +14,7 @@ NS_ASSUME_NONNULL_BEGIN
 //@property(nonatomic,strong) NASFilePicDataArrModel *VideoDataMode;
 @property(nonatomic,strong) NASFileAndFolderDataModel *VideoDataMode;
 
-@property (nonatomic,copy) void (^didNeedToRegetDataFun)(void);
+@property (nonatomic,copy) void (^didNeedDeleteFile)(NSString*filePath);
 @end
 
 NS_ASSUME_NONNULL_END

+ 2 - 2
创维盒子/双子星云手机/Class/Set/previewFile/videoPlayByAVPlayerViewController.m

@@ -738,8 +738,8 @@
     //1.删除最近文件数据
     [[lastFileManager shareManager] deleteFileInfoWithUrl:path];
     
-    if(_didNeedToRegetDataFun){
-        _didNeedToRegetDataFun();
+    if(_didNeedDeleteFile){
+        _didNeedDeleteFile(path);
     }
     
     [self.navigationController popViewControllerAnimated:YES];

+ 98 - 7
创维盒子/双子星云手机/NAS/NasPreviewVideoViewController.m

@@ -23,6 +23,7 @@
 #import "queryShareModel.h"
 //#import "audioPlayerViewController.h"
 #import "videoPlayByAVPlayerViewController.h"
+#import "MJRefresh.h"
 
 @interface NasPreviewVideoViewController ()<UITableViewDelegate,UITableViewDataSource,DZNEmptyDataSetSource, DZNEmptyDataSetDelegate>
 {
@@ -272,6 +273,15 @@
         //空数据引入第三方开源处理
         _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;
@@ -341,7 +351,8 @@
     }
     
     self.defaultDiskPath = pathStr;
-    [self getFileListFun];
+    _curNASFileAudioMod = nil;
+    [self getFileListFun:NO];
     [self setTitleAfterGetdiskFun];
     [self hideDiskListVieFun];
 }
@@ -409,8 +420,8 @@
         [self.navigationController pushViewController:vc animated:YES];
         
         KWeakSelf
-        vc.didNeedToRegetDataFun = ^{
-            [weakSelf getFileListFun];
+        vc.didNeedDeleteFile = ^(NSString * _Nonnull filePath) {
+            [weakSelf deleteNetDataByFilePath:filePath];
         };
     }
 }
@@ -739,7 +750,7 @@
     [self checkFileTransferTask];
     
     if(!_curNASFileAudioMod){
-        [self getFileListFun];
+        [self getFileListFun:NO];
         [self queryShareSwitchFunFun];
     }
 }
@@ -833,7 +844,7 @@
 }
 
 #pragma mark 获取文件数据
-- (void)getFileListFun
+- (void)getFileListFun:(BOOL)isMoreDataType
 {
     NSMutableDictionary*paraDict = [NSMutableDictionary new];
     [paraDict setValue:@"video" forKey:@"type"];
@@ -850,18 +861,35 @@
         [paraDict setValue:name 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:@"getFileList" Parameters:paraDict success:^(id  _Nonnull responseObject) {
+        [weakSelf.tableView.mj_footer endRefreshing];
         [weakSelf removeNewIndicatorHaveStr];
-        weakSelf.curNASFileAudioMod = [[NASFileAudioModel alloc] initWithDictionary:responseObject error:nil];
+        NASFileAudioModel*NASFileAudioMod = [[NASFileAudioModel 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.tableView.mj_footer endRefreshing];
         [weakSelf removeNewIndicatorHaveStr];
         if([AFNetworkReachabilityManager sharedManager].networkReachabilityStatus == AFNetworkReachabilityStatusNotReachable)
         {
@@ -874,6 +902,33 @@
     }];
 }
 
+#pragma mark 上拉或者点击更多数据
+- (void)getMoreNetWorkData
+{
+    [self getFileListFun:YES];
+}
+
+#pragma mark 分页数据组装
+- (void)handelNetDataAfterFilterDataBy:(NASFileAudioModel*)NASFileAudioMod
+{
+    if(_curNASFileAudioMod && _curNASFileAudioMod.data && _curNASFileAudioMod.data.list){
+        NSMutableArray *handelDataArr = [NSMutableArray arrayWithArray:_curNASFileAudioMod.data.list];//旧数据
+        [handelDataArr addObjectsFromArray:NASFileAudioMod.data.list];//新数据
+        
+        _curNASFileAudioMod.data.list = (NSArray<NASFileAudioDataModel>*)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
 {
@@ -983,12 +1038,48 @@
         [[lastFileManager shareManager] deleteFileInfoWithUrl:dataModel.path];
     }
     
+    //2.删除已经获取到的网络数据
+    [self deleteNetDataByDeleteSucFun];
+    
     [_didSelectListArr removeAllObjects];
     [self setEditTypeTitleFun];
     
-    [self getFileListFun];
 }
 
+#pragma mark 删除成功后 对应删除原来获取的网络数据
+- (void)deleteNetDataByDeleteSucFun
+{
+    NSMutableArray *afterFilterArr = [NSMutableArray new];
+    for (NASFileAudioDataModel *model in _curNASFileAudioMod.data.list) {
+        if (!model.isSelectType) {
+            [afterFilterArr addObject:model];
+        }
+    }
+    
+    _curNASFileAudioMod.data.list = (NSArray<NASFileAudioDataModel>*)afterFilterArr;
+    
+    [self.tableView reloadData];
+}
+
+#pragma mark 图片详情删除成功后 对应删除原来获取的网络数据
+- (void)deleteNetDataByFilePath:(NSString*)filePath
+{
+    if(!filePath || filePath.length == 0){
+        return;
+    }
+    
+    NSMutableArray *afterFilterArr = [NSMutableArray new];
+    for (NASFileAudioDataModel *model in _curNASFileAudioMod.data.list) {
+        if (![model.path isEqualToString:filePath]) {
+            [afterFilterArr addObject:model];
+        }
+    }
+    
+    _curNASFileAudioMod.data.list = (NSArray<NASFileAudioDataModel>*)afterFilterArr;
+    [self.tableView reloadData];
+}
+
+
 #pragma mark 获取分享开关
 -(void)queryShareSwitchFunFun
 {