Преглед изворни кода

1.添加多文件列表页面

huangxiaodong пре 1 година
родитељ
комит
e06b358e97

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

@@ -275,6 +275,10 @@
 		6B5B60772B3E665E009A2AE2 /* filePathCreatPopView.m in Sources */ = {isa = PBXBuildFile; fileRef = 6B5B60752B3E665E009A2AE2 /* filePathCreatPopView.m */; };
 		6B5B607A2B3E71B6009A2AE2 /* filePathCreatTableViewCell.h in Headers */ = {isa = PBXBuildFile; fileRef = 6B5B60782B3E71B6009A2AE2 /* filePathCreatTableViewCell.h */; };
 		6B5B607B2B3E71B6009A2AE2 /* filePathCreatTableViewCell.m in Sources */ = {isa = PBXBuildFile; fileRef = 6B5B60792B3E71B6009A2AE2 /* filePathCreatTableViewCell.m */; };
+		6B5BE57A2BFC767100A1B9B3 /* previewFileAndFolderViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 6B5BE5792BFC767100A1B9B3 /* previewFileAndFolderViewController.m */; };
+		6B5BE57B2BFC767100A1B9B3 /* previewFileAndFolderViewController.h in Headers */ = {isa = PBXBuildFile; fileRef = 6B5BE5782BFC767100A1B9B3 /* previewFileAndFolderViewController.h */; };
+		6B5BE57C2BFC767100A1B9B3 /* previewFileAndFolderViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 6B5BE5792BFC767100A1B9B3 /* previewFileAndFolderViewController.m */; };
+		6B5BE57D2BFC767100A1B9B3 /* previewFileAndFolderViewController.h in Headers */ = {isa = PBXBuildFile; fileRef = 6B5BE5782BFC767100A1B9B3 /* previewFileAndFolderViewController.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 */; };
@@ -1181,6 +1185,8 @@
 		6B5B60752B3E665E009A2AE2 /* filePathCreatPopView.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = filePathCreatPopView.m; sourceTree = "<group>"; };
 		6B5B60782B3E71B6009A2AE2 /* filePathCreatTableViewCell.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = filePathCreatTableViewCell.h; sourceTree = "<group>"; };
 		6B5B60792B3E71B6009A2AE2 /* filePathCreatTableViewCell.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = filePathCreatTableViewCell.m; sourceTree = "<group>"; };
+		6B5BE5782BFC767100A1B9B3 /* previewFileAndFolderViewController.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = previewFileAndFolderViewController.h; sourceTree = "<group>"; };
+		6B5BE5792BFC767100A1B9B3 /* previewFileAndFolderViewController.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = previewFileAndFolderViewController.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>"; };
@@ -2036,6 +2042,8 @@
 				6B34DC4C2BF1BA11002DD1EF /* previewImageOrVideoViewController.m */,
 				6B93549E2BF37D2D00AA8D31 /* previewAudioOrDocumentViewController.h */,
 				6B93549F2BF37D2D00AA8D31 /* previewAudioOrDocumentViewController.m */,
+				6B5BE5782BFC767100A1B9B3 /* previewFileAndFolderViewController.h */,
+				6B5BE5792BFC767100A1B9B3 /* previewFileAndFolderViewController.m */,
 				6B9354A42BF3848D00AA8D31 /* shareRecordViewController.h */,
 				6B9354A52BF3848D00AA8D31 /* shareRecordViewController.m */,
 				6B3AD6822BF48DBA0096D6B7 /* shareRecordDetailsHWViewController.h */,
@@ -2775,6 +2783,7 @@
 				6B3AD6842BF48DBA0096D6B7 /* shareRecordDetailsHWViewController.h in Headers */,
 				18F9CB072ABD7835003FF71A /* QRCodeScanForChangeDeviceViewController.h in Headers */,
 				6B45C5042B5F9CEC007E6911 /* diskListTableView.h in Headers */,
+				6B5BE57B2BFC767100A1B9B3 /* previewFileAndFolderViewController.h in Headers */,
 				6B7EA79E2BF5E0ED002D5CC2 /* NASMsgModel.h in Headers */,
 				18664FF62AC2B3A4008F8A61 /* ShearDeviceUDPManager.h in Headers */,
 				18F9CAFF2ABD3643003FF71A /* ModifyPWDSecondViewController.h in Headers */,
@@ -2926,6 +2935,7 @@
 				6B3AD6872BF48DBA0096D6B7 /* shareRecordDetailsHWViewController.h in Headers */,
 				6BD507052B9576A4006E7CB0 /* QRCodeScanForChangeDeviceViewController.h in Headers */,
 				6BD507062B9576A4006E7CB0 /* diskListTableView.h in Headers */,
+				6B5BE57D2BFC767100A1B9B3 /* previewFileAndFolderViewController.h in Headers */,
 				6B7EA7A02BF5E0ED002D5CC2 /* NASMsgModel.h in Headers */,
 				6BD507072B9576A4006E7CB0 /* ShearDeviceUDPManager.h in Headers */,
 				6BD507082B9576A4006E7CB0 /* ModifyPWDSecondViewController.h in Headers */,
@@ -3458,6 +3468,7 @@
 				6BD5078F2B9576A4006E7CB0 /* PlayerViewController+AdjustBtnFrame.m in Sources */,
 				6BD507902B9576A4006E7CB0 /* cachesFileManager.m in Sources */,
 				6BD507912B9576A4006E7CB0 /* HWVersionModel.m in Sources */,
+				6B5BE57C2BFC767100A1B9B3 /* previewFileAndFolderViewController.m in Sources */,
 				6BD507922B9576A4006E7CB0 /* NSArray+Log.m in Sources */,
 				6BD507932B9576A4006E7CB0 /* ConnectTestViewController.m in Sources */,
 				6BD507942B9576A4006E7CB0 /* downloadFileRecordCell.m in Sources */,
@@ -3694,6 +3705,7 @@
 				18FCE5412AD136670020F623 /* PlayerViewController+AdjustBtnFrame.m in Sources */,
 				6B7272542B0CABC600C03F87 /* cachesFileManager.m in Sources */,
 				184C8ADE2A949DBD00F26650 /* HWVersionModel.m in Sources */,
+				6B5BE57A2BFC767100A1B9B3 /* previewFileAndFolderViewController.m in Sources */,
 				6B21709D2B15CDB600656670 /* NSArray+Log.m in Sources */,
 				18FCE5352AD12FE00020F623 /* ConnectTestViewController.m in Sources */,
 				6BED888F2B4E901900F76DDC /* downloadFileRecordCell.m in Sources */,

+ 12 - 0
创维盒子/双子星云手机/AppDelegate/SceneDelegate.m

@@ -433,6 +433,12 @@
     while (context = [enumerator nextObject]) {
         NSLog(@"context.URL =====%@",context.URL);
         //openprivacyxapp://page?param1=value1&param2=value2
+        NSString *curStr = context.URL.absoluteString;
+        if([curStr rangeOfString:@"openprivacyxapp://page"].location != NSNotFound){
+            [self shareAwakenAppBy:curStr];
+            break;
+        }
+        
         //NSLog(@"context.options.sourceApplication ===== %@",context.options.sourceApplication);
         [WXApi handleOpenURL:context.URL delegate:self];
     }
@@ -940,4 +946,10 @@
     BaseNavigationController *qrCodeVCNav = [[BaseNavigationController alloc] initWithRootViewController:qrCodeVC];
     self.window.rootViewController = qrCodeVCNav;
 }
+
+#pragma mark 分享页面唤醒APP
+- (void)shareAwakenAppBy:(NSString*)shareStr
+{
+    [[iToast makeText:shareStr] show];
+}
 @end

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

@@ -39,6 +39,7 @@
 
 #import "previewImageOrVideoViewController.h"
 #import "previewAudioOrDocumentViewController.h"
+#import "previewFileAndFolderViewController.h"
 #import "shareRecordViewController.h"
 #import "backupsOptionViewController.h"
 
@@ -189,8 +190,7 @@
         }
             break;
         case 103:{
-            previewAudioOrDocumentViewController *vc = [previewAudioOrDocumentViewController new];
-            vc.isAudioType = NO;
+            previewFileAndFolderViewController *vc = [previewFileAndFolderViewController new];
             [self.navigationController pushViewController:vc animated:YES];
         }
             break;

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

@@ -0,0 +1,16 @@
+//
+//  previewFileAndFolderViewController.h
+//  双子星云手机
+//
+//  Created by xd h on 2024/5/21.
+//
+
+#import "BaseViewController.h"
+#import "uploadImageOrVideoViewController.h"
+NS_ASSUME_NONNULL_BEGIN
+
+@interface previewFileAndFolderViewController : BaseViewController
+
+@end
+
+NS_ASSUME_NONNULL_END

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

@@ -0,0 +1,904 @@
+//
+//  previewFileAndFolderViewController.m
+//  双子星云手机
+//
+//  Created by xd h on 2024/5/21.
+//
+
+#import "previewFileAndFolderViewController.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"
+#import "NASFileAudioModel.h"
+
+@interface previewFileAndFolderViewController ()<UITableViewDelegate,UITableViewDataSource,DZNEmptyDataSetSource, DZNEmptyDataSetDelegate>
+{
+    UIButton *tapBtn;
+    
+    UIButton* rightTransferListButton;//传输列表
+    UIView* rightRedView;
+    
+    BOOL hadUploadTaskType;
+    BOOL hadDownloadTaskType;
+}
+@property (nonatomic, strong) UITableView *tableView;
+
+@property (strong, nonatomic) UILabel *MytitleLabel;
+@property (strong, nonatomic) UIImageView *selectTip;
+@property (nonatomic, strong) diskListBgView *diskListBgV;
+@property (nonatomic, strong) diskListTableView *diskListTableV;
+@property (nonatomic, strong)  NSMutableArray*diskListArr;
+@property (nonatomic, copy) NSString *defaultDiskPath;
+@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)NASFileAudioModel * curNASFileAudioMod;
+@end
+
+@implementation previewFileAndFolderViewController
+
+- (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);
+    }];
+    
+    NSMutableArray *arr = [NSMutableArray new];
+    NSArray *diskList = ksharedAppDelegate.cloudPhoneExtraFileListMod.data;
+    if(diskList && [diskList isKindOfClass:[NSArray class]]){
+        for (cloudPhoneExtraFileModel *model in diskList) {
+            model.isCheckType = NO;
+            [arr addObject:model];
+        }
+    }
+    
+    if(arr.count >0){
+        cloudPhoneExtraFileModel *model = arr.firstObject;
+        model.isCheckType = YES;
+        _defaultDiskPath = model.extraPath;
+    }
+    _diskListArr = arr;
+    [self setTitleAfterGetdiskFun];
+}
+
+- (void)initNavHeadUIFun
+{
+    //title
+    UILabel *titleLabel = [[UILabel alloc] init];
+    titleLabel.textAlignment = NSTextAlignmentCenter;
+    titleLabel.font = [UIFont boldSystemFontOfSize:16.0];
+    titleLabel.textColor = [UIColor blackColor];
+    titleLabel.translatesAutoresizingMaskIntoConstraints = NO;
+    [self.navBarBGView addSubview:titleLabel];
+
+    self.MytitleLabel = titleLabel;
+    
+    //selectTipImageView
+    UIImageView *selectTip = [[UIImageView alloc] init];
+    selectTip.image = [UIImage imageNamed:@"upload_image_arrow"];
+    selectTip.translatesAutoresizingMaskIntoConstraints = NO;
+    [self.navBarBGView addSubview:selectTip];
+    self.selectTip = selectTip;
+    
+    tapBtn = [UIButton buttonWithType:UIButtonTypeCustom];
+    tapBtn.backgroundColor = [UIColor clearColor];
+    tapBtn.translatesAutoresizingMaskIntoConstraints = NO;
+    [tapBtn addTarget:self action:@selector(selectDiskAction:) forControlEvents:UIControlEventTouchUpInside];
+    [self.navBarBGView addSubview:tapBtn];
+    
+    [tapBtn mas_makeConstraints:^(MASConstraintMaker *make) {
+        make.centerX.mas_equalTo(self.navBarBGView.mas_centerX);
+        make.centerY.mas_equalTo(self.backBtn.mas_centerY);
+        make.width.mas_equalTo(100);
+        make.height.mas_equalTo(30);
+    }];
+    
+    [self setTitleLabelText:@""];
+    
+    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;
+}
+
+
+- (diskListBgView*)diskListBgV
+{
+    if(!_diskListBgV){
+        _diskListBgV = [[diskListBgView alloc] initWithFrame:CGRectMake(0, 0, 0, 0)];
+        _diskListBgV.hidden = YES;
+        [self.view addSubview:_diskListBgV];
+        
+        KWeakSelf
+        _diskListBgV.didTapWhitePlace = ^{
+            [weakSelf hideDiskListVieFun];
+        };
+        
+        [_diskListBgV mas_makeConstraints:^(MASConstraintMaker *make) {
+            make.left.mas_equalTo(0);
+            make.bottom.mas_equalTo(0);
+            make.right.mas_equalTo(0);
+            make.top.mas_equalTo(self.navBarBGView.mas_bottom);
+        }];
+        
+        [self.view addSubview:self.diskListTableV];
+        self.diskListTableV.hidden = YES;
+        [self.diskListTableV mas_makeConstraints:^(MASConstraintMaker *make) {
+            make.left.mas_equalTo(0);
+            make.height.mas_equalTo(3*70);
+            make.right.mas_equalTo(0);
+            make.top.mas_equalTo(self.navBarBGView.mas_bottom);
+        }];
+       
+        self.diskListTableV.diskListArr = _diskListArr;
+        
+        self.diskListTableV.didClickDiskModel = ^(NSString * _Nonnull checkPath) {
+            [weakSelf didCheckDiskFunByPath:checkPath];
+        };
+    }
+    
+    return  _diskListBgV;
+}
+
+- (UITableView *)diskListTableV{
+    if (!_diskListTableV) {
+        _diskListTableV = [[diskListTableView alloc] init];
+//
+    }
+    return _diskListTableV;
+}
+
+#pragma mark 选中磁盘
+- (void)didCheckDiskFunByPath:(NSString*)pathStr
+{
+    if(self.defaultDiskPath
+       && self.defaultDiskPath.length>0
+       && ![self.defaultDiskPath isEqualToString:pathStr]){
+        //切换硬盘了 取消全选
+        
+        [_didSelectListArr removeAllObjects];
+    }
+    
+    self.defaultDiskPath = pathStr;
+    [self getFileListFun];
+    [self setTitleAfterGetdiskFun];
+    [self hideDiskListVieFun];
+}
+
+#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){
+        NASFileAudioDataModel* dataModel = _curNASFileAudioMod.data.list[row];
+        cell.curNASFileAudioDataModel = 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;
+}
+
+#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)setTitleLabelText:(NSString*)title
+{
+    NSArray *diskNameArr = [_defaultDiskPath componentsSeparatedByString:@"/"];
+    if(diskNameArr && diskNameArr.count >= 2){
+        
+        NSString *name = diskNameArr.lastObject;
+        if(name.length == 0)
+        {
+            name = diskNameArr[diskNameArr.count -2];
+        }
+        
+        title = [[NSString alloc] initWithFormat:@"[%@]%@",name,title];
+    }
+    
+    
+    
+    self.MytitleLabel.text = title;
+    
+    CGFloat curWidth = [title boundingRectWithSize:CGSizeMake(SCREEN_W, 30) options:(NSStringDrawingUsesLineFragmentOrigin) attributes:@{NSFontAttributeName:[UIFont boldSystemFontOfSize:16.f]} context:nil].size.width;
+    
+    curWidth += 20;
+    //HLog(@"title w:%f",curWidth);
+    [self.MytitleLabel mas_remakeConstraints:^(MASConstraintMaker *make) {
+        make.centerX.mas_equalTo(self.navBarBGView.mas_centerX).offset(-10);
+        make.centerY.mas_equalTo(self.backBtn.mas_centerY);
+        make.width.mas_equalTo(curWidth);
+        make.height.mas_equalTo(30);
+    }];
+    //self.MytitleLabel.backgroundColor = [UIColor greenColor];
+    
+    [self.selectTip mas_makeConstraints:^(MASConstraintMaker *make) {
+        make.left.mas_equalTo(self.MytitleLabel.mas_right).offset(0);
+        make.centerY.mas_equalTo(self.backBtn.mas_centerY);
+        make.width.mas_equalTo(15);
+        make.height.mas_equalTo(15);
+    }];
+    
+    [tapBtn mas_remakeConstraints:^(MASConstraintMaker *make) {
+        make.centerX.mas_equalTo(self.navBarBGView.mas_centerX);
+        make.centerY.mas_equalTo(self.backBtn.mas_centerY);
+        make.width.mas_equalTo(curWidth+15);
+        make.height.mas_equalTo(30);
+    }];
+}
+
+#pragma mark 选择硬盘
+- (void)selectDiskAction:(UIButton*)but
+{
+    if(self.diskListBgV.hidden){
+        [self showDiskListVieFun];
+    }
+    else{
+        [self hideDiskListVieFun];
+        
+    }
+}
+
+- (void)showDiskListVieFun
+{
+    self.diskListBgV.hidden = NO;
+    self.diskListTableV.hidden = NO;
+    
+    [UIView animateWithDuration:0.3 animations:^{
+        CGRect rect = self.diskListTableV.frame;
+        rect.origin.y = CGRectGetMaxY(self.navBarBGView.frame);
+        self.diskListTableV.frame = rect;
+
+        self.selectTip.transform = CGAffineTransformMakeRotation(M_PI);
+    }];
+}
+
+- (void)hideDiskListVieFun
+{
+    self.diskListBgV.hidden = YES;
+    
+    [UIView animateWithDuration:0.3 animations:^{
+        self.diskListTableV.hidden = YES;
+        self.selectTip.transform = CGAffineTransformIdentity;
+        
+    }completion:^(BOOL finished) {
+        CGRect rect = self.diskListTableV.frame;
+        rect.origin.y = 0;
+        self.diskListTableV.frame = rect;
+    }];
+}
+
+
+
+#pragma mark 设置标题
+- (void)setTitleAfterGetdiskFun
+{
+    [self setTitleLabelText:NSLocalizedString(@"my_set_no_file",nil)];
+}
+
+- (void)viewWillAppear:(BOOL)animated
+{
+    [super viewWillAppear:animated];
+    
+}
+
+- (void)viewDidAppear:(BOOL)animated{
+    [super viewDidAppear:animated];
+    [self showDownloadTipFun];
+    [self checkFileTransferTask];
+    
+    if(!_curNASFileAudioMod){
+        [self getFileListFun];
+    }
+}
+
+- (void)viewWillDisappear:(BOOL)animated{
+    [super viewWillDisappear:animated];
+    
+    //[self removeNewIndicator];
+    [self removeNewIndicatorHaveStr];
+}
+
+
+
+
+
+- (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];
+    
+    NSArray *diskNameArr = [_defaultDiskPath componentsSeparatedByString:@"/"];
+    if(diskNameArr && diskNameArr.count >= 2){
+        
+        NSString *name = diskNameArr.lastObject;
+        if(name.length == 0)
+        {
+            name = diskNameArr[diskNameArr.count -2];
+        }
+        
+        [paraDict setValue:name 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 = [[NASFileAudioModel 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 - 1
创维盒子/双子星云手机/CloudPlayer/View/PlayerView.m

@@ -71,7 +71,7 @@ ShowImageViewDelegate>{
                   inRect:CGRectMake(0, 0, glkshowImageView.drawableWidth, glkshowImageView.drawableHeight)
                 fromRect:[ciImage extent]];
     
-    //[self->glkshowImageView display];
+    [self->glkshowImageView display];
 }
 
 - (void)showIMage