Forráskód Böngészése

1.文件的接口请求以及显示

huangxiaodong 1 éve%!(EXTRA string=óta)
szülő
commit
acd994400d

+ 12 - 0
创维盒子/双子星云手机.xcodeproj/project.pbxproj

@@ -283,6 +283,10 @@
 		6B5BE5812BFC81E300A1B9B3 /* NASFileAndFolderModel.h in Headers */ = {isa = PBXBuildFile; fileRef = 6B5BE57E2BFC81E300A1B9B3 /* NASFileAndFolderModel.h */; };
 		6B5BE5822BFC81E300A1B9B3 /* NASFileAndFolderModel.m in Sources */ = {isa = PBXBuildFile; fileRef = 6B5BE57F2BFC81E300A1B9B3 /* NASFileAndFolderModel.m */; };
 		6B5BE5832BFC81E300A1B9B3 /* NASFileAndFolderModel.h in Headers */ = {isa = PBXBuildFile; fileRef = 6B5BE57E2BFC81E300A1B9B3 /* NASFileAndFolderModel.h */; };
+		6B5BE5862BFC8B0B00A1B9B3 /* previewFileAndFolderSecondViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 6B5BE5852BFC8B0B00A1B9B3 /* previewFileAndFolderSecondViewController.m */; };
+		6B5BE5872BFC8B0B00A1B9B3 /* previewFileAndFolderSecondViewController.h in Headers */ = {isa = PBXBuildFile; fileRef = 6B5BE5842BFC8B0B00A1B9B3 /* previewFileAndFolderSecondViewController.h */; };
+		6B5BE5882BFC8B0B00A1B9B3 /* previewFileAndFolderSecondViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 6B5BE5852BFC8B0B00A1B9B3 /* previewFileAndFolderSecondViewController.m */; };
+		6B5BE5892BFC8B0B00A1B9B3 /* previewFileAndFolderSecondViewController.h in Headers */ = {isa = PBXBuildFile; fileRef = 6B5BE5842BFC8B0B00A1B9B3 /* previewFileAndFolderSecondViewController.h */; };
 		6B5D40152B47F27A000965CF /* couldPhoneCommonModel.h in Headers */ = {isa = PBXBuildFile; fileRef = 6B5D40132B47F27A000965CF /* couldPhoneCommonModel.h */; };
 		6B5D40162B47F27A000965CF /* couldPhoneCommonModel.m in Sources */ = {isa = PBXBuildFile; fileRef = 6B5D40142B47F27A000965CF /* couldPhoneCommonModel.m */; };
 		6B5D401A2B4A9850000965CF /* couldPhoneFolderListModel.h in Headers */ = {isa = PBXBuildFile; fileRef = 6B5D40182B4A9850000965CF /* couldPhoneFolderListModel.h */; };
@@ -1193,6 +1197,8 @@
 		6B5BE5792BFC767100A1B9B3 /* previewFileAndFolderViewController.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = previewFileAndFolderViewController.m; sourceTree = "<group>"; };
 		6B5BE57E2BFC81E300A1B9B3 /* NASFileAndFolderModel.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = NASFileAndFolderModel.h; sourceTree = "<group>"; };
 		6B5BE57F2BFC81E300A1B9B3 /* NASFileAndFolderModel.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = NASFileAndFolderModel.m; sourceTree = "<group>"; };
+		6B5BE5842BFC8B0B00A1B9B3 /* previewFileAndFolderSecondViewController.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = previewFileAndFolderSecondViewController.h; sourceTree = "<group>"; };
+		6B5BE5852BFC8B0B00A1B9B3 /* previewFileAndFolderSecondViewController.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = previewFileAndFolderSecondViewController.m; sourceTree = "<group>"; };
 		6B5D40132B47F27A000965CF /* couldPhoneCommonModel.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = couldPhoneCommonModel.h; sourceTree = "<group>"; };
 		6B5D40142B47F27A000965CF /* couldPhoneCommonModel.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = couldPhoneCommonModel.m; sourceTree = "<group>"; };
 		6B5D40182B4A9850000965CF /* couldPhoneFolderListModel.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = couldPhoneFolderListModel.h; sourceTree = "<group>"; };
@@ -2050,6 +2056,8 @@
 				6B93549F2BF37D2D00AA8D31 /* previewAudioOrDocumentViewController.m */,
 				6B5BE5782BFC767100A1B9B3 /* previewFileAndFolderViewController.h */,
 				6B5BE5792BFC767100A1B9B3 /* previewFileAndFolderViewController.m */,
+				6B5BE5842BFC8B0B00A1B9B3 /* previewFileAndFolderSecondViewController.h */,
+				6B5BE5852BFC8B0B00A1B9B3 /* previewFileAndFolderSecondViewController.m */,
 				6B9354A42BF3848D00AA8D31 /* shareRecordViewController.h */,
 				6B9354A52BF3848D00AA8D31 /* shareRecordViewController.m */,
 				6B3AD6822BF48DBA0096D6B7 /* shareRecordDetailsHWViewController.h */,
@@ -2795,6 +2803,7 @@
 				6B5BE57B2BFC767100A1B9B3 /* previewFileAndFolderViewController.h in Headers */,
 				6B7EA79E2BF5E0ED002D5CC2 /* NASMsgModel.h in Headers */,
 				18664FF62AC2B3A4008F8A61 /* ShearDeviceUDPManager.h in Headers */,
+				6B5BE5872BFC8B0B00A1B9B3 /* previewFileAndFolderSecondViewController.h in Headers */,
 				18F9CAFF2ABD3643003FF71A /* ModifyPWDSecondViewController.h in Headers */,
 				6BF52CA12AD7C2F600A617DB /* inputPWDViewController.h in Headers */,
 				6B7EA7B62BF74BDB002D5CC2 /* shareBySecretView.h in Headers */,
@@ -2948,6 +2957,7 @@
 				6B5BE57D2BFC767100A1B9B3 /* previewFileAndFolderViewController.h in Headers */,
 				6B7EA7A02BF5E0ED002D5CC2 /* NASMsgModel.h in Headers */,
 				6BD507072B9576A4006E7CB0 /* ShearDeviceUDPManager.h in Headers */,
+				6B5BE5892BFC8B0B00A1B9B3 /* previewFileAndFolderSecondViewController.h in Headers */,
 				6BD507082B9576A4006E7CB0 /* ModifyPWDSecondViewController.h in Headers */,
 				6BD507092B9576A4006E7CB0 /* inputPWDViewController.h in Headers */,
 				6B7EA7B82BF74BDB002D5CC2 /* shareBySecretView.h in Headers */,
@@ -3478,6 +3488,7 @@
 				6BD5078E2B9576A4006E7CB0 /* MineViewCell.m in Sources */,
 				6BD5078F2B9576A4006E7CB0 /* PlayerViewController+AdjustBtnFrame.m in Sources */,
 				6BD507902B9576A4006E7CB0 /* cachesFileManager.m in Sources */,
+				6B5BE5882BFC8B0B00A1B9B3 /* previewFileAndFolderSecondViewController.m in Sources */,
 				6BD507912B9576A4006E7CB0 /* HWVersionModel.m in Sources */,
 				6B5BE57C2BFC767100A1B9B3 /* previewFileAndFolderViewController.m in Sources */,
 				6BD507922B9576A4006E7CB0 /* NSArray+Log.m in Sources */,
@@ -3716,6 +3727,7 @@
 				181E84F62A8F451D00292B96 /* MineViewCell.m in Sources */,
 				18FCE5412AD136670020F623 /* PlayerViewController+AdjustBtnFrame.m in Sources */,
 				6B7272542B0CABC600C03F87 /* cachesFileManager.m in Sources */,
+				6B5BE5862BFC8B0B00A1B9B3 /* previewFileAndFolderSecondViewController.m in Sources */,
 				184C8ADE2A949DBD00F26650 /* HWVersionModel.m in Sources */,
 				6B5BE57A2BFC767100A1B9B3 /* previewFileAndFolderViewController.m in Sources */,
 				6B21709D2B15CDB600656670 /* NSArray+Log.m in Sources */,

+ 17 - 0
创维盒子/双子星云手机/Class/Set/previewFile/previewFileAndFolderSecondViewController.h

@@ -0,0 +1,17 @@
+//
+//  previewFileAndFolderSecondViewController.h
+//  双子星云手机
+//
+//  Created by xd h on 2024/5/21.
+//
+
+#import "BaseViewController.h"
+#import "uploadImageOrVideoViewController.h"
+#import "NASFileAndFolderModel.h"
+NS_ASSUME_NONNULL_BEGIN
+
+@interface previewFileAndFolderSecondViewController : BaseViewController
+@property (nonatomic, strong) NASFileAndFolderDataModel* curFolderDataModel;
+@end
+
+NS_ASSUME_NONNULL_END

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

@@ -0,0 +1,701 @@
+//
+//  previewFileAndFolderSecondViewController.m
+//  双子星云手机
+//
+//  Created by xd h on 2024/5/21.
+//
+
+#import "previewFileAndFolderSecondViewController.h"
+
+#import "couldPhoneFileListModel.h"
+#import "downloadThumbnailManager.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"
+
+
+@interface previewFileAndFolderSecondViewController ()<UITableViewDelegate,UITableViewDataSource,DZNEmptyDataSetSource, DZNEmptyDataSetDelegate>
+{
+    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];
+        
+        previewFileAndFolderSecondViewController *vc =  [previewFileAndFolderSecondViewController new];
+        vc.curFolderDataModel = dataModel;
+        [self.navigationController pushViewController:vc animated:YES];
+    }
+
+}
+
+#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
+{
+    _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{
+            [_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
+{
+    editShareView *editShareV = [[editShareView alloc] init];
+    [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];
+    }
+}
+
+- (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:nil
+                                                                                     msg:NSLocalizedString(@"upload_download_need_read_msg",nil)
+                                                                                imageStr:nil
+                                                                             cancelTitle:NSLocalizedString(@"guide_set_pwd_guide_know",nil)
+                                                                                 okTitle:nil
+                                                                        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
+    
+    [[uploadFileManager 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(), ^{
+        [[downloadManager 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];
+    }];
+}
+
+#pragma mark 调整文件上传
+- (void)gotoUploadFileFunWith:(NSInteger)tag
+{
+    uploadImageOrVideoViewController *vc = [uploadImageOrVideoViewController new];
+    if(tag ==10){
+        vc.isPhotoType = YES;
+    }
+    else{
+        vc.isPhotoType = NO;
+    }
+    [self.navigationController pushViewController:vc animated:YES];
+}
+
+#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 = @"audio";
+        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:nil
+                                                                              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
+{
+    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
+{
+    [_didSelectListArr removeAllObjects];
+    [self setEditTypeTitleFun];
+    
+    [self getFileListFun];
+}
+@end

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

@@ -7,6 +7,7 @@
 
 #import "BaseViewController.h"
 #import "uploadImageOrVideoViewController.h"
+#import "previewFileAndFolderSecondViewController.h"
 NS_ASSUME_NONNULL_BEGIN
 
 @interface previewFileAndFolderViewController : BaseViewController

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

@@ -361,6 +361,19 @@
     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];
+        
+        previewFileAndFolderSecondViewController *vc =  [previewFileAndFolderSecondViewController new];
+        vc.curFolderDataModel = dataModel;
+        [self.navigationController pushViewController:vc animated:YES];
+    }
+
+}
+
 #pragma mark 空数据
 - (UIImage *)imageForEmptyDataSet:(UIScrollView *)scrollView {