// // previewFileAndFolderSecondViewController.m // Private-X // // Created by xd h on 2024/5/21. // #import "previewFileAndFolderSecondViewController.h" #import "couldPhoneFileListModel.h" #import "downloadManager.h" #import "uploadFileRecordViewController.h" #import "UIScrollView+EmptyDataSet.h" #import "diskListBgView.h" #import "diskListTableView.h" #import "downLoadPreViewCell.h" #import "editTypeHeadView.h" #import "editTypeBottomView.h" #import "editShareView.h" #import "previewToUploadFileView.h" #import "netWorkManager.h" #import "videoPlayByAVPlayerViewController.h" #import "audioPlayerViewController.h" #import "imageDetailsScrollViewController.h" #import "DocumentPickerManager.h" @interface previewFileAndFolderSecondViewController () { UIButton* rightTransferListButton;//传输列表 UIView* rightRedView; BOOL hadUploadTaskType; BOOL hadDownloadTaskType; } @property (nonatomic, strong) UITableView *tableView; @property(nonatomic,assign) BOOL isEditType; @property(nonatomic,strong) editTypeHeadView*curEditTypeHeadView; @property(nonatomic,strong) editTypeBottomView*curEditTypeBottomView; @property(nonatomic,strong) UIButton*uploadFileButton; @property (nonatomic, strong) NSMutableArray*didSelectListArr;//选中的数据 @property (nonatomic, strong)NASFileAndFolderModel * curNASFileAudioMod; @end @implementation previewFileAndFolderSecondViewController - (void)viewDidLoad { [super viewDidLoad]; // Do any additional setup after loading the view. [self.toolBar setHidden:YES]; [self.navigationBar setHidden:YES]; [self.navBarBGView setHidden:NO]; self.navBarBGView.backgroundColor = [UIColor whiteColor]; [self.view setBackgroundColor:[UIColor whiteColor]]; [self drawAnyView]; _didSelectListArr = [NSMutableArray new]; } - (void)drawAnyView{ [self initNavHeadUIFun]; _curEditTypeHeadView = [[editTypeHeadView alloc] init]; _curEditTypeHeadView.hidden = YES; [self.navBarBGView addSubview:_curEditTypeHeadView]; [_curEditTypeHeadView mas_makeConstraints:^(MASConstraintMaker *make) { make.left.mas_equalTo(0); make.right.mas_equalTo(0); make.bottom.mas_equalTo(0); make.height.mas_equalTo(NAVIHEIGHT - AdaptNaviHeight); }]; #pragma mark 编辑状态的 取消 和全选按钮 响应事件 KWeakSelf _curEditTypeHeadView.didClickButtonFun = ^(NSInteger tag) { if(tag==1){ [weakSelf userCancelEditTypeFun]; } }; _curEditTypeHeadView.didClickSelectAllFun = ^(UIButton * _Nonnull but) { [weakSelf didClickSelectAllButton:but]; }; _curEditTypeBottomView = [[editTypeBottomView alloc] init]; _curEditTypeBottomView.hidden = YES; [self.view addSubview:_curEditTypeBottomView]; [_curEditTypeBottomView mas_makeConstraints:^(MASConstraintMaker *make) { make.left.mas_equalTo(0); make.right.mas_equalTo(0); make.bottom.mas_equalTo(0); make.height.mas_equalTo(60 + AdaptTabHeight); }]; #pragma mark 编辑状态的 下载 分享 删除 响应事件 _curEditTypeBottomView.didClickButtonFun = ^(NSInteger tag) { if(tag==1){ [weakSelf gotoDownLoadFileFun]; } else if(tag==2){ [weakSelf gotoShareViewFun]; } else if(tag==3){ [weakSelf showDeleteAlearViewFun]; } }; [self.view addSubview:self.tableView]; [self.tableView mas_makeConstraints:^(MASConstraintMaker *make) { make.left.mas_equalTo(0); make.right.mas_equalTo(0); //make.bottom.mas_equalTo(-(safeArea)); make.bottom.mas_equalTo(0); make.top.equalTo(self.navBarBGView.mas_bottom).offset(10.f); }]; //大+号 _uploadFileButton = [[UIButton alloc] init]; [_uploadFileButton setBackgroundImage:[UIImage imageNamed:@"add_file_icon"] forState:UIControlStateNormal]; [_uploadFileButton addTarget:self action:@selector(userDidClickUploadViewFun) forControlEvents:UIControlEventTouchUpInside]; [self.view addSubview:_uploadFileButton]; [_uploadFileButton mas_makeConstraints:^(MASConstraintMaker *make) { make.right.mas_equalTo(-15); make.width.mas_equalTo(52); make.height.mas_equalTo(52); make.bottom.mas_equalTo(-30 - AdaptTabHeight); }]; } - (void)initNavHeadUIFun { rightTransferListButton = [[UIButton alloc] init]; [rightTransferListButton setImage:[UIImage imageNamed:@"icon_file_transfer"] forState:UIControlStateNormal]; [rightTransferListButton addTarget:self action:@selector(didiClikRightButGotoTransferListFun:) forControlEvents:UIControlEventTouchUpInside]; [self.navBarBGView addSubview:rightTransferListButton]; [rightTransferListButton mas_makeConstraints:^(MASConstraintMaker *make) { make.width.mas_equalTo(40); make.height.mas_equalTo(40); make.right.mas_equalTo(-15); make.centerY.mas_equalTo(self.titleLabel.mas_centerY); }]; rightRedView = [[UIView alloc] init]; rightRedView.backgroundColor = [UIColor hwColor:@"#DD4E4E" alpha:1.0]; [rightTransferListButton addSubview:rightRedView]; rightRedView.layer.cornerRadius = 7; rightRedView.hidden = YES; [rightRedView mas_makeConstraints:^(MASConstraintMaker *make) { make.width.mas_equalTo(14); make.height.mas_equalTo(14); make.right.mas_equalTo(0); make.top.mas_equalTo(6); }]; } #pragma mark - 懒加载 - (UITableView *)tableView{ if (!_tableView) { _tableView = [[UITableView alloc] initWithFrame:CGRectMake(0, 0, SCREEN_W, SCREEN_H - TABBARHEIGHT) style:UITableViewStylePlain]; _tableView.delegate = self; _tableView.dataSource = self; _tableView.showsVerticalScrollIndicator = NO; _tableView.showsHorizontalScrollIndicator = NO; // _tableView.contentInset = UIEdgeInsetsMake(-H_STATE_BAR, 0, 0, 0); [_tableView setSeparatorStyle:(UITableViewCellSeparatorStyleNone)]; [_tableView setSeparatorColor:[UIColor clearColor]]; [_tableView setBackgroundColor:[UIColor clearColor]]; [_tableView setTableFooterView:[UIView new]]; [_tableView setBounces:YES]; if (@available(iOS 15.0, *)) { _tableView.sectionHeaderTopPadding = 0; } //空数据引入第三方开源处理 _tableView.emptyDataSetSource = self; _tableView.emptyDataSetDelegate = self; } return _tableView; } #pragma mark - 列表委托 - (NSInteger)numberOfSectionsInTableView:(UITableView *)tableView{ return 1; } - (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section { if(!_curNASFileAudioMod){ return 0; } return _curNASFileAudioMod.data.list.count; } - (downLoadPreViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath{ __block NSInteger row = indexPath.row; static NSString *identifier = @"downLoadPreViewCell"; downLoadPreViewCell * cell = [tableView dequeueReusableCellWithIdentifier:identifier]; cell.selectionStyle = UITableViewCellSelectionStyleNone; if (!cell){ cell = [[downLoadPreViewCell alloc] initWithStyle:UITableViewCellStyleValue1 reuseIdentifier:identifier]; [cell setSelectionStyle:UITableViewCellSelectionStyleNone]; [cell setBackgroundColor:[UIColor clearColor]]; [cell setAccessoryType:(UITableViewCellAccessoryNone)]; [cell.bgViewLayer removeFromSuperlayer]; [cell.titleLabel2 setHidden:NO]; [cell.rightImage setHidden:YES]; [cell.lineView setHidden:YES]; [cell.checkButton setHidden:NO]; } if(row < _curNASFileAudioMod.data.list.count){ NASFileAndFolderDataModel* dataModel = _curNASFileAudioMod.data.list[row]; cell.curNASFileAndFolderDataModel = dataModel; KWeakSelf cell.didClickSwitch = ^(BOOL SwitchOn) { //if([weakSelf userCheckFileModel:dataModel withShowTip:YES]){ [weakSelf userCheckFilePreviewByRow:row]; //} }; } return cell; } - (CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath{ return 70; } - (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath { NSInteger row = indexPath.row; if(row < _curNASFileAudioMod.data.list.count){ NASFileAndFolderDataModel* dataModel = _curNASFileAudioMod.data.list[row]; if([dataModel.type isEqualToString:@"dir"]) { previewFileAndFolderSecondViewController *vc = [previewFileAndFolderSecondViewController new]; vc.curFolderDataModel = dataModel; vc.canShareType = _canShareType; [self.navigationController pushViewController:vc animated:YES]; } else if([dataModel.type isEqualToString:@"video"]){ videoPlayByAVPlayerViewController *vc = [videoPlayByAVPlayerViewController new]; vc.VideoDataMode = dataModel; [self.navigationController pushViewController:vc animated:YES]; KWeakSelf // vc.didNeedToRegetDataFun = ^{ // [weakSelf getFileListFun]; // }; } else if([dataModel.type isEqualToString:@"audio"]){ // NSMutableArray *dataArr = [NSMutableArray new]; // [dataArr addObject:dataModel]; audioPlayerViewController *vc = [audioPlayerViewController new]; vc.isfirstEnterType = YES; vc.outSideDataModel = (NASFileAudioDataModel *)dataModel; [self.navigationController pushViewController:vc animated:YES]; KWeakSelf vc.didNeedDeleteFile = ^(NSString * _Nonnull filePath) { }; // vc.didNeedToRegetDataFun = ^{ // [weakSelf getFileListFun]; // }; } else if([dataModel.type containsString:@"jpg"]){ NSMutableArray *jpgDataArr = [NSMutableArray new]; NSInteger index = 0; [jpgDataArr addObject:dataModel]; imageDetailsScrollViewController *vc = [imageDetailsScrollViewController new]; vc.index = index; vc.totalDataArr = jpgDataArr; [self.navigationController pushViewController:vc animated:YES]; vc.canShareType = _canShareType; } } } #pragma mark 空数据 - (UIImage *)imageForEmptyDataSet:(UIScrollView *)scrollView { NSString *imageName = @"common_no_data_pic"; return [UIImage imageNamed:imageName]; } - (NSAttributedString *)titleForEmptyDataSet:(UIScrollView *)scrollView { NSString *text = NSLocalizedString(@"common_no_data_tip",nil); NSDictionary *attributes = @{NSFontAttributeName: [UIFont systemFontOfSize:16.0f], NSForegroundColorAttributeName: HW999999Color}; return [[NSAttributedString alloc] initWithString:text attributes:attributes]; } //调整图片位置 - (CGFloat)verticalOffsetForEmptyDataSet:(UIScrollView *)scrollView { return -150; } //ios端: //1、需求说明:解决除MP4 MOV 3GP M4V 总计4种格式外,其他格式下载失败的问题; //2、交互说明:下载列表勾选文件中含有其他格式,toast提示“IOS系统仅支持MP4、MOV、3GP、M4V 的视频格式,其他格式无法下载”。点击下载按钮,过滤其他格式文件,仅下载MP4、MOV、3GP、M4V 的视频格式文件; //ios支持图片格式: (SVG 不支持) //需求说明:解决除JPG PNG GIF TIFF BMP总计5种格式外,其他格式下载失败的问题 //视觉交互:选择文件中含有其他格式,toast提示“IOS系统仅支持JPG 、PNG、GIF、TIFF、BMP的图片格式,其他格式无法下载”。点击下载按钮,过滤其他格式文件,仅下载JPG 、PNG、GIF、TIFF、BMP的图片格式文件; - (BOOL)userCheckFileModel:(couldPhoneFileModel*)fileModel withShowTip:(BOOL)canShow{ // NSString*name = [fileModel.name lowercaseString]; // NSArray *nameArr = [name componentsSeparatedByString:@"."]; // if(nameArr.count >0 && !_isAudioType){ // BOOL canDownLoadType = NO; // // NSString *lastName = nameArr.lastObject; // if([lastName isEqualToString:@"mp4"] // ||[lastName isEqualToString:@"mov"] // ||[lastName isEqualToString:@"3gp"] // ||[lastName isEqualToString:@"m4v"]){ // canDownLoadType = YES; // } // // if(!canDownLoadType){ // if(canShow){ // [[iToast makeText:NSLocalizedString(@"download_video_disable_state",nil)] show]; // } // // return NO; // } // } // // if(nameArr.count >0 && _isAudioType){ // BOOL canDownLoadType = NO; // //JPG 、PNG、GIF、TIFF、BMP // NSString *lastName = nameArr.lastObject; // if([lastName isEqualToString:@"jpg"] // ||[lastName isEqualToString:@"png"] // ||[lastName isEqualToString:@"gif"] // ||[lastName isEqualToString:@"tiff"] // ||[lastName isEqualToString:@"bmp"] // ||[lastName isEqualToString:@"heic"] // ||[lastName isEqualToString:@"jpeg"] // ||[lastName isEqualToString:@"heif"]){ // canDownLoadType = YES; // } // // if(!canDownLoadType){ // if(canShow){ // [[iToast makeText:NSLocalizedString(@"download_image_disable_state",nil)] show]; // } // return NO; // } // } return YES; } #pragma mark 用户长按图片进入编辑 - (void)setViewEditTypeFun { _isEditType = YES; //[self.tableView reloadData]; _curEditTypeHeadView.hidden = NO; _curEditTypeBottomView.hidden = NO; _uploadFileButton.hidden = YES; [self.tableView mas_remakeConstraints:^(MASConstraintMaker *make) { make.left.mas_equalTo(0); make.right.mas_equalTo(0); make.bottom.mas_equalTo(_curEditTypeBottomView.mas_top); make.top.equalTo(self.navBarBGView.mas_bottom).offset(10.f); }]; } #pragma mark 用户取消编辑编辑 - (void)userCancelEditTypeFun { //数据还原 for (NASFileAndFolderDataModel*model in _didSelectListArr) { model.isSelectType = NO; } [_didSelectListArr removeAllObjects]; _isEditType = NO; [self.tableView reloadData]; _curEditTypeHeadView.hidden = YES; _curEditTypeBottomView.hidden = YES; _uploadFileButton.hidden = NO; [self.tableView mas_remakeConstraints:^(MASConstraintMaker *make) { make.left.mas_equalTo(0); make.right.mas_equalTo(0); make.bottom.mas_equalTo(0); make.top.equalTo(self.navBarBGView.mas_bottom).offset(10.f); }]; } - (void)userCheckFilePreviewByRow:(NSInteger)row { if(row < _curNASFileAudioMod.data.list.count){ NASFileAudioDataModel* dataModel = _curNASFileAudioMod.data.list[row]; if(dataModel.isSelectType){ [_didSelectListArr removeObject:dataModel]; } else{ [_didSelectListArr addObject:dataModel]; } dataModel.isSelectType = !dataModel.isSelectType; [self setEditTypeTitleFun]; } } - (void)didClickSelectAllButton:(UIButton*)button { //button.selected = !button.selected; [_didSelectListArr removeAllObjects]; for (NASFileAudioDataModel* dataModel in _curNASFileAudioMod.data.list) { if(!button.selected){ dataModel.isSelectType = button.selected; } else{ if(![dataModel.type isEqualToString:@"dir"]){ [_didSelectListArr addObject:dataModel]; dataModel.isSelectType = button.selected; } } } [self.tableView reloadData]; //[self.dataCollectionView reloadData]; [self setEditTypeTitleFun]; } #pragma mark 设置选中标题 - (void)setEditTypeTitleFun { [_curEditTypeHeadView setTitleLabetextByNumbers:_didSelectListArr.count]; if(_didSelectListArr.count > 0){ [self setViewEditTypeFun]; } else{ [self userCancelEditTypeFun]; } } #pragma mark 用户点击分享 - (void)gotoShareViewFun { // NSString * firstFileType = nil; BOOL isSameFileType = YES; for (NASFilePicDataArrModel *dataModel in _didSelectListArr) { if(!firstFileType){ firstFileType = dataModel.type; } else if(![firstFileType isEqualToString:dataModel.type]){ isSameFileType = NO; break; } } NSInteger MaxShareNuber = 50; // if(isSameFileType && [firstFileType containsString:@"video"]){ // MaxShareNuber = 20; // } if (_didSelectListArr.count > MaxShareNuber) { [[iToast makeText:NSLocalizedString(@"share_max_count_tip1",nil)] show]; return; } editShareView *editShareV = [[editShareView alloc] init]; editShareV.didSelectListArr = _didSelectListArr; editShareV.shareFileType = @"6"; [self.view addSubview:editShareV]; [editShareV mas_makeConstraints:^(MASConstraintMaker *make) { make.left.mas_equalTo(0); make.right.mas_equalTo(0); make.bottom.mas_equalTo(0); make.top.mas_equalTo(0); }]; } #pragma mark 用户点击上传文件 - (void)userDidClickUploadViewFun { previewToUploadFileView *previewToUploadFileV = [[previewToUploadFileView alloc] init]; [self.view addSubview:previewToUploadFileV]; [previewToUploadFileV mas_makeConstraints:^(MASConstraintMaker *make) { make.left.mas_equalTo(0); make.right.mas_equalTo(0); make.bottom.mas_equalTo(0); make.top.mas_equalTo(0); }]; KWeakSelf previewToUploadFileV.didClickButtonFun = ^(NSInteger tag) { [weakSelf gotoUploadFileFunWith:tag]; }; } #pragma mark 设置标题 - (void)viewWillAppear:(BOOL)animated { [super viewWillAppear:animated]; } - (void)viewDidAppear:(BOOL)animated{ [super viewDidAppear:animated]; [self showDownloadTipFun]; [self checkFileTransferTask]; if(!_curNASFileAudioMod){ self.titleLabel.text = _curFolderDataModel.name; [self getFileListFun]; [self.curEditTypeBottomView setCanShaewFunBy:_canShareType]; } } - (void)viewWillDisappear:(BOOL)animated{ [super viewWillDisappear:animated]; //[self removeNewIndicator]; [self removeNewIndicatorHaveStr]; } //- (void)setCurFolderDataModel:(NASFileAndFolderDataModel *)curFolderDataModel //{ // _curFolderDataModel = curFolderDataModel; //} - (void)gotoDownloadloadFileRecordFun { uploadFileRecordViewController *vc = [uploadFileRecordViewController new]; [self.navigationController pushViewController:vc animated:YES]; vc.isDownloadingType = YES; //[vc gotoDownloadFile:_downloadFileBottomV.indexPathsForSelectedItems]; } - (void)showDownloadTipFun { BOOL didReadUploadTipType = [HWDataManager getBoolWithKey:Const_file_downLoad_need_read]; if(didReadUploadTipType){ return; } //KWeakSelf /*弹窗提示恢复出厂*/ ComontAlretViewController *nextVC = [[ComontAlretViewController alloc] initWithTiTle:@"" msg:NSLocalizedString(@"upload_download_need_read_msg",nil) imageStr:@"" cancelTitle:NSLocalizedString(@"guide_set_pwd_guide_know",nil) okTitle:@"" isOkBtnHighlight:NO didClickOk:^{ } didClickCancel:^{ [HWDataManager setBoolWithKey:Const_file_downLoad_need_read value:YES]; }]; nextVC.modalPresentationStyle = UIModalPresentationCustom; [self presentViewController:nextVC animated:YES completion:^{ nextVC.view.superview.backgroundColor = [UIColor clearColor]; }]; } - (void)checkFileTransferTask {//有个偶现的闪退在BGFMDB [[nasUploadFileManager shareInstance] checkHadUploadTaskWithComplete:^(BOOL isSuccess) { self->hadUploadTaskType = isSuccess; [self setRightButtonRedTypeFun]; }]; KWeakSelf dispatch_after(dispatch_time(DISPATCH_TIME_NOW, (int64_t)(1.5 * NSEC_PER_SEC)), dispatch_get_main_queue(), ^{ [[nasDownloadFileManager shareInstance] checkHadDownloadTaskWithComplete:^(BOOL isSuccess) { self->hadDownloadTaskType = isSuccess; [weakSelf setRightButtonRedTypeFun]; }]; }); } - (void)setRightButtonRedTypeFun { mainBlock(^{ if(self->hadUploadTaskType || self->hadDownloadTaskType){ self->rightRedView.hidden = NO; } else{ self->rightRedView.hidden = YES; } }); } - (void)didiClikRightButGotoTransferListFun:(UIButton*)but { uploadFileRecordViewController *vc = [uploadFileRecordViewController new]; [self.navigationController pushViewController:vc animated:YES]; } #pragma mark 获取文件数据 - (void)getFileListFun { NSMutableDictionary*paraDict = [NSMutableDictionary new]; if(_curFolderDataModel.path){ [paraDict setValue:_curFolderDataModel.path forKey:@"path"]; } [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]; if(weakSelf.curNASFileAudioMod && weakSelf.curNASFileAudioMod.status == 0){ [weakSelf.tableView reloadData]; } } failure:^(NSError * _Nonnull error) { [weakSelf removeNewIndicatorHaveStr]; if([AFNetworkReachabilityManager sharedManager].networkReachabilityStatus == AFNetworkReachabilityStatusNotReachable) { [[iToast makeText:NSLocalizedString(@"phone_network_fail_Tips",nil)] show]; } else{ [[iToast makeText:NSLocalizedString(@"netWork_error_show_tip",nil)] show]; } }]; } #pragma mark 调整文件上传 - (void)gotoUploadFileFunWith:(NSInteger)tag { if(tag == 10 || tag == 11){ uploadImageOrVideoViewController *vc = [uploadImageOrVideoViewController new]; if(tag ==10){ vc.isPhotoType = YES; } else{ vc.isPhotoType = NO; } [self.navigationController pushViewController:vc animated:YES]; } else{ KWeakSelf [[DocumentPickerManager shareManager] openDocumentPickerSuccess:^(NSArray * _Nonnull urls) { [weakSelf gotoUploadFileRecordByFileAppWithUrls:urls]; }]; } } #pragma mark 文件下载 - (void)gotoDownLoadFileFun { if(_didSelectListArr.count == 0){ [[iToast makeText:@""] show]; return; } NSMutableArray *arr = [NSMutableArray new]; for (NASFilePicDataArrModel *dataModel in _didSelectListArr) { couldPhoneFileModel* fileModel = [couldPhoneFileModel new]; fileModel.fileType = dataModel.type; fileModel.path = dataModel.path; fileModel.name = dataModel.name; fileModel.length = dataModel.size; fileModel.time = dataModel.duration; [arr addObject:fileModel]; } uploadFileRecordViewController *vc = [uploadFileRecordViewController new]; [self.navigationController pushViewController:vc animated:YES]; vc.isDownloadingType = YES; [vc gotoDownloadFile:arr]; } #pragma mark 删除图片 - (void)showDeleteAlearViewFun { NSString *titleStr = NSLocalizedString(@"delete_file_title_msg",nil); NSString *tipStr = NSLocalizedString(@"delete_file_tip_msg",nil); KWeakSelf ComontAlretViewController *curAlretVC= [[ComontAlretViewController alloc] initWithTiTle:titleStr msg:tipStr imageStr:@"" cancelTitle:NSLocalizedString(@"other_cancel",nil) okTitle:NSLocalizedString(@"other_confirm",nil) isOkBtnHighlight:YES didClickOk:^{ [weakSelf delFileListFun]; } didClickCancel:^{ }]; curAlretVC.modalPresentationStyle = UIModalPresentationCustom; [self presentViewController:curAlretVC animated:YES completion:^{ curAlretVC.view.superview.backgroundColor = [UIColor clearColor]; }]; } #pragma mark 删除文件数据 - (void)delFileListFun { //处理数据埋点 NSString * firstFileType = nil; BOOL isSameFileType = YES; for (NASFilePicDataArrModel *dataModel in _didSelectListArr) { if(!firstFileType){ firstFileType = dataModel.type; } else if(![firstFileType isEqualToString:dataModel.type]){ isSameFileType = NO; break; } } if(!isSameFileType){ //数据埋点 [[netWorkManager shareInstance] DataEmbeddingPointBy:3 withEventValue:@"File_delete"]; } else if([firstFileType containsString:@"jpg"]){ //数据埋点 [[netWorkManager shareInstance] DataEmbeddingPointBy:3 withEventValue:@"Image_delete"]; } else if([firstFileType isEqualToString:@"video"]){ //数据埋点 [[netWorkManager shareInstance] DataEmbeddingPointBy:3 withEventValue:@"Video_delete"]; } else if([firstFileType isEqualToString:@"audio"]){ //数据埋点 [[netWorkManager shareInstance] DataEmbeddingPointBy:3 withEventValue:@"Music_delete"]; } else{ //数据埋点 [[netWorkManager shareInstance] DataEmbeddingPointBy:3 withEventValue:@"File_delete"]; } NSMutableDictionary*paraDict = [NSMutableDictionary new]; NSMutableArray *pathArr = [NSMutableArray new]; for (NASFilePicDataArrModel *dataModel in _didSelectListArr) { [pathArr addObject:dataModel.path]; } [paraDict setValue:pathArr forKey:@"path"]; [self showNewIndicatorWithCanBack:YES canTouch:NO]; //NSString*code = [[NSString alloc] initWithFormat:@"delFile?path=%@",paraDict[@"path"]]; //delFile?path=[/storage/emulated/0/Download/IMG_6464.HEIC] KWeakSelf //@"delFile" [[netWorkManager shareInstance] cloudPhonePostCallBackCode:@"delFile" Parameters:paraDict success:^(id _Nonnull responseObject) { [weakSelf removeNewIndicator]; SuperModel *model = [[SuperModel alloc] initWithDictionary:responseObject error:nil]; if(model && model.status == 0){ [[iToast makeText:NSLocalizedString(@"delete_file_suc_msg",nil)] show]; [weakSelf didDeleteSucFun]; } else{ } } failure:^(NSError * _Nonnull error) { [weakSelf removeNewIndicator]; }]; } #pragma mark 删除成功 - (void)didDeleteSucFun { //删除最近文件 for (NASFilePicDataArrModel *dataModel in _didSelectListArr) { [[lastFileManager shareManager] deleteFileInfoWithUrl:dataModel.path]; } [_didSelectListArr removeAllObjects]; [self setEditTypeTitleFun]; [self getFileListFun]; } #pragma mark 文件上传跳转上传记录 - (void)gotoUploadFileRecordByFileAppWithUrls:(NSArray*)urls { uploadFileRecordViewController *vc = [uploadFileRecordViewController new]; [self.navigationController pushViewController:vc animated:YES]; vc.isUploadingType = YES; [vc gotoUploadFileByFileApp:urls]; } @end