Explorar el Código

1.音频分页处理完成

huangxiaodong hace 8 meses
padre
commit
9fa865e9b7

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

@@ -12,7 +12,7 @@ NS_ASSUME_NONNULL_BEGIN
 @interface audioPlayerViewController : BaseViewController
 @property (nonatomic, strong) NASFileAudioDataModel *outSideDataModel;
 @property (nonatomic, assign) BOOL isfirstEnterType;//
-@property (nonatomic,copy) void (^didNeedToRegetDataFun)(void);
+@property (nonatomic,copy) void (^didNeedDeleteFile)(NSString*filePath);
 @end
 
 NS_ASSUME_NONNULL_END

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

@@ -592,8 +592,8 @@
     [[audioPlayListManager shareManager] deleteFileInfoWithUrl:path];
     
     
-    if(_didNeedToRegetDataFun){
-        _didNeedToRegetDataFun();
+    if(_didNeedDeleteFile){
+        _didNeedDeleteFile(path);
     }
     
     if([audioPlayListManager shareManager].audioPlayListArr.count >= 1){

+ 105 - 7
创维盒子/双子星云手机/Class/Set/previewFile/previewAudioOrDocumentViewController.m

@@ -23,6 +23,7 @@
 #import "queryShareModel.h"
 #import "audioPlayerViewController.h"
 #import "videoPlayByAVPlayerViewController.h"
+#import "MJRefresh.h"
 
 @interface previewAudioOrDocumentViewController ()<UITableViewDelegate,UITableViewDataSource,DZNEmptyDataSetSource, DZNEmptyDataSetDelegate>
 {
@@ -272,6 +273,16 @@
         //空数据引入第三方开源处理
         _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 +352,9 @@
     }
     
     self.defaultDiskPath = pathStr;
-    [self getFileListFun];
+    _curNASFileAudioMod = nil;
+    [self getFileListFun:NO];
+
     [self setTitleAfterGetdiskFun];
     [self hideDiskListVieFun];
 }
@@ -419,9 +432,10 @@
         [self.navigationController pushViewController:vc animated:YES];
         
         KWeakSelf
-        vc.didNeedToRegetDataFun = ^{
-            [weakSelf getFileListFun];
+        vc.didNeedDeleteFile = ^(NSString * _Nonnull filePath) {
+            [weakSelf deleteNetDataByFilePath:filePath];
         };
+
     }
 }
 
@@ -755,7 +769,7 @@
     [self checkFileTransferTask];
     
     if(!_curNASFileAudioMod){
-        [self getFileListFun];
+        [self getFileListFun:NO];
         [self queryShareSwitchFunFun];
     }
 }
@@ -849,7 +863,7 @@
 }
 
 #pragma mark 获取文件数据
-- (void)getFileListFun
+- (void)getFileListFun:(BOOL)isMoreDataType
 {
     NSMutableDictionary*paraDict = [NSMutableDictionary new];
     if(_isAudioType){
@@ -859,6 +873,16 @@
         [paraDict setValue:@"file" forKey:@"type"];
     }
     
+    if(!isMoreDataType){
+        self.pageIndex = 0;
+    }
+    else{
+        self.pageIndex ++;
+    }
+    
+    [paraDict setValue:[NSNumber numberWithInteger:self.pageIndex] forKey:@"index"];
+    [paraDict setValue:[NSNumber numberWithInteger:pageSizeNum] forKey:@"pageSize"];
+
     NSArray *diskNameArr = [_defaultDiskPath componentsSeparatedByString:@"/"];
     if(diskNameArr && diskNameArr.count >= 2){
         
@@ -876,14 +900,24 @@
     KWeakSelf
     [[netWorkManager shareInstance] cloudPhoneGETCallBackCode:@"getFileList" Parameters:paraDict success:^(id  _Nonnull responseObject) {
         [weakSelf removeNewIndicatorHaveStr];
-        weakSelf.curNASFileAudioMod = [[NASFileAudioModel alloc] initWithDictionary:responseObject error:nil];
+        [weakSelf.tableView.mj_footer endRefreshing];
+
+        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 removeNewIndicatorHaveStr];
+        [weakSelf.tableView.mj_footer endRefreshing];
+
         if([AFNetworkReachabilityManager sharedManager].networkReachabilityStatus == AFNetworkReachabilityStatusNotReachable)
         {
             [[iToast makeText:NSLocalizedString(@"phone_network_fail_Tips",nil)] show];
@@ -895,6 +929,34 @@
     }];
 }
 
+#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
 {
@@ -1005,12 +1067,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
 {

+ 1 - 1
创维盒子/双子星云手机/NAS/NASViewController.m

@@ -381,7 +381,7 @@
             [self.navigationController pushViewController:vc animated:YES];
             
             KWeakSelf
-            vc.didNeedToRegetDataFun = ^{
+            vc.didNeedDeleteFile = ^(NSString * _Nonnull filePath) {
                 [weakSelf getLastFileDataFun];
             };
         }

+ 1 - 1
创维盒子/双子星云手机/NAS/nasLastFileViewController.m

@@ -236,7 +236,7 @@
             [self.navigationController pushViewController:vc animated:YES];
             
             KWeakSelf
-            vc.didNeedToRegetDataFun = ^{
+            vc.didNeedDeleteFile = ^(NSString * _Nonnull filePath) {
                 [weakSelf getLastFileDataFun];
             };
         }