소스 검색

1.音乐播放界面----改造中

huangxiaodong 11 달 전
부모
커밋
18779222a6
22개의 변경된 파일657개의 추가작업 그리고 5개의 파일을 삭제
  1. 24 0
      创维盒子/双子星云手机.xcodeproj/project.pbxproj
  2. 22 0
      创维盒子/双子星云手机/Assets.xcassets/NAS/edit_details_icon.imageset/Contents.json
  3. BIN
      创维盒子/双子星云手机/Assets.xcassets/NAS/edit_details_icon.imageset/edit_details_icon@2x.png
  4. BIN
      创维盒子/双子星云手机/Assets.xcassets/NAS/edit_details_icon.imageset/edit_details_icon@3x.png
  5. 22 0
      创维盒子/双子星云手机/Assets.xcassets/NAS/nas_preview_more_black.imageset/Contents.json
  6. BIN
      创维盒子/双子星云手机/Assets.xcassets/NAS/nas_preview_more_black.imageset/nas_preview_more_black@2x.png
  7. BIN
      创维盒子/双子星云手机/Assets.xcassets/NAS/nas_preview_more_black.imageset/nas_preview_more_black@3x.png
  8. 22 0
      创维盒子/双子星云手机/Assets.xcassets/NAS/nas_preview_share_black.imageset/Contents.json
  9. BIN
      创维盒子/双子星云手机/Assets.xcassets/NAS/nas_preview_share_black.imageset/nas_preview_share_black@2x.png
  10. BIN
      创维盒子/双子星云手机/Assets.xcassets/NAS/nas_preview_share_black.imageset/nas_preview_share_black@3x.png
  11. 2 0
      创维盒子/双子星云手机/Class/Set/previewFile/audioPlayerViewController.h
  12. 225 4
      创维盒子/双子星云手机/Class/Set/previewFile/audioPlayerViewController.m
  13. 4 0
      创维盒子/双子星云手机/Class/Set/previewFile/previewAudioOrDocumentViewController.m
  14. 5 1
      创维盒子/双子星云手机/Class/Set/previewFile/previewFileAndFolderSecondViewController.m
  15. 5 0
      创维盒子/双子星云手机/Class/Set/previewFile/previewFileAndFolderViewController.m
  16. 17 0
      创维盒子/双子星云手机/Class/Set/previewFile/view/previewAudioPortraitDetailsView.h
  17. 159 0
      创维盒子/双子星云手机/Class/Set/previewFile/view/previewAudioPortraitDetailsView.m
  18. 16 0
      创维盒子/双子星云手机/Class/Set/previewFile/view/previewAudioPortraitTopMoreView.h
  19. 118 0
      创维盒子/双子星云手机/Class/Set/previewFile/view/previewAudioPortraitTopMoreView.m
  20. 5 0
      创维盒子/双子星云手机/NAS/NASViewController.m
  21. 5 0
      创维盒子/双子星云手机/NAS/nasLastFileViewController.m
  22. 6 0
      创维盒子/双子星云手机/zh-Hans.lproj/Localizable.strings

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

@@ -1166,6 +1166,14 @@
 		6BF52CA72AD7D3BE00A617DB /* customLaunchView.m in Sources */ = {isa = PBXBuildFile; fileRef = 6BF52CA52AD7D3BE00A617DB /* customLaunchView.m */; };
 		6BF52CAD2AD82EA500A617DB /* PlayerControlButTipView.h in Headers */ = {isa = PBXBuildFile; fileRef = 6BF52CAB2AD82EA500A617DB /* PlayerControlButTipView.h */; };
 		6BF52CAE2AD82EA500A617DB /* PlayerControlButTipView.m in Sources */ = {isa = PBXBuildFile; fileRef = 6BF52CAC2AD82EA500A617DB /* PlayerControlButTipView.m */; };
+		6BF558B32C44F11C00701854 /* previewAudioPortraitTopMoreView.m in Sources */ = {isa = PBXBuildFile; fileRef = 6BF558B22C44F11C00701854 /* previewAudioPortraitTopMoreView.m */; };
+		6BF558B42C44F11C00701854 /* previewAudioPortraitTopMoreView.h in Headers */ = {isa = PBXBuildFile; fileRef = 6BF558B12C44F11C00701854 /* previewAudioPortraitTopMoreView.h */; };
+		6BF558B52C44F11C00701854 /* previewAudioPortraitTopMoreView.m in Sources */ = {isa = PBXBuildFile; fileRef = 6BF558B22C44F11C00701854 /* previewAudioPortraitTopMoreView.m */; };
+		6BF558B62C44F11C00701854 /* previewAudioPortraitTopMoreView.h in Headers */ = {isa = PBXBuildFile; fileRef = 6BF558B12C44F11C00701854 /* previewAudioPortraitTopMoreView.h */; };
+		6BF558B92C4508CB00701854 /* previewAudioPortraitDetailsView.m in Sources */ = {isa = PBXBuildFile; fileRef = 6BF558B82C4508CB00701854 /* previewAudioPortraitDetailsView.m */; };
+		6BF558BA2C4508CB00701854 /* previewAudioPortraitDetailsView.h in Headers */ = {isa = PBXBuildFile; fileRef = 6BF558B72C4508CB00701854 /* previewAudioPortraitDetailsView.h */; };
+		6BF558BB2C4508CB00701854 /* previewAudioPortraitDetailsView.m in Sources */ = {isa = PBXBuildFile; fileRef = 6BF558B82C4508CB00701854 /* previewAudioPortraitDetailsView.m */; };
+		6BF558BC2C4508CB00701854 /* previewAudioPortraitDetailsView.h in Headers */ = {isa = PBXBuildFile; fileRef = 6BF558B72C4508CB00701854 /* previewAudioPortraitDetailsView.h */; };
 		6BFF26882AF8949F00FCB4F7 /* playerShowSecretkeyView.h in Headers */ = {isa = PBXBuildFile; fileRef = 6BFF26862AF8949F00FCB4F7 /* playerShowSecretkeyView.h */; };
 		6BFF26892AF8949F00FCB4F7 /* playerShowSecretkeyView.m in Sources */ = {isa = PBXBuildFile; fileRef = 6BFF26872AF8949F00FCB4F7 /* playerShowSecretkeyView.m */; };
 		6BFF268C2AF8E1C600FCB4F7 /* forgetPwdViewController.h in Headers */ = {isa = PBXBuildFile; fileRef = 6BFF268A2AF8E1C600FCB4F7 /* forgetPwdViewController.h */; };
@@ -1892,6 +1900,10 @@
 		6BF52CA52AD7D3BE00A617DB /* customLaunchView.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = customLaunchView.m; sourceTree = "<group>"; };
 		6BF52CAB2AD82EA500A617DB /* PlayerControlButTipView.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = PlayerControlButTipView.h; sourceTree = "<group>"; };
 		6BF52CAC2AD82EA500A617DB /* PlayerControlButTipView.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = PlayerControlButTipView.m; sourceTree = "<group>"; };
+		6BF558B12C44F11C00701854 /* previewAudioPortraitTopMoreView.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = previewAudioPortraitTopMoreView.h; sourceTree = "<group>"; };
+		6BF558B22C44F11C00701854 /* previewAudioPortraitTopMoreView.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = previewAudioPortraitTopMoreView.m; sourceTree = "<group>"; };
+		6BF558B72C4508CB00701854 /* previewAudioPortraitDetailsView.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = previewAudioPortraitDetailsView.h; sourceTree = "<group>"; };
+		6BF558B82C4508CB00701854 /* previewAudioPortraitDetailsView.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = previewAudioPortraitDetailsView.m; sourceTree = "<group>"; };
 		6BFF26862AF8949F00FCB4F7 /* playerShowSecretkeyView.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = playerShowSecretkeyView.h; sourceTree = "<group>"; };
 		6BFF26872AF8949F00FCB4F7 /* playerShowSecretkeyView.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = playerShowSecretkeyView.m; sourceTree = "<group>"; };
 		6BFF268A2AF8E1C600FCB4F7 /* forgetPwdViewController.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = forgetPwdViewController.h; sourceTree = "<group>"; };
@@ -2796,6 +2808,10 @@
 				6B42A2222C41285C000555BB /* previewVideoPortraitTopMoreView.m */,
 				6B7DDF242C421DA900EBDFDD /* previewVideoLandscapeTopMoreView.h */,
 				6B7DDF252C421DA900EBDFDD /* previewVideoLandscapeTopMoreView.m */,
+				6BF558B12C44F11C00701854 /* previewAudioPortraitTopMoreView.h */,
+				6BF558B22C44F11C00701854 /* previewAudioPortraitTopMoreView.m */,
+				6BF558B72C4508CB00701854 /* previewAudioPortraitDetailsView.h */,
+				6BF558B82C4508CB00701854 /* previewAudioPortraitDetailsView.m */,
 			);
 			path = view;
 			sourceTree = "<group>";
@@ -3620,6 +3636,7 @@
 				6B21709C2B15CDB600656670 /* NSArray+Log.h in Headers */,
 				184C8AD02A94980D00F26650 /* CustomerWebViewController.h in Headers */,
 				6B93548F2BF30A8C00AA8D31 /* editTypeBottomView.h in Headers */,
+				6BF558BA2C4508CB00701854 /* previewAudioPortraitDetailsView.h in Headers */,
 				6B2C1E862C070ADE00FDCF82 /* ZFPlayerConst.h in Headers */,
 				6BFF26992AFA16DA00FCB4F7 /* forgetSecretKeyViewController.h in Headers */,
 				6B45C4FD2B57BC87007E6911 /* cloudPhoneExtraFileListModel.h in Headers */,
@@ -3683,6 +3700,7 @@
 				6B0D004C2BFE104B00F02719 /* queryOneShareModel.h in Headers */,
 				6B45C50C2B5FA80E007E6911 /* diskListBgView.h in Headers */,
 				6B2170912B15BAE700656670 /* privacyModeViewController.h in Headers */,
+				6BF558B42C44F11C00701854 /* previewAudioPortraitTopMoreView.h in Headers */,
 				6B2C1E5C2C070ADE00FDCF82 /* ZFFloatView.h in Headers */,
 				6B1FBD3A2B467A8000926382 /* backupsFilerecordTableView.h in Headers */,
 				6B7DDF262C421DA900EBDFDD /* previewVideoLandscapeTopMoreView.h in Headers */,
@@ -3871,6 +3889,7 @@
 				6BD5069D2B9576A4006E7CB0 /* NSArray+Log.h in Headers */,
 				6BD5069E2B9576A4006E7CB0 /* CustomerWebViewController.h in Headers */,
 				6B9354902BF30A8C00AA8D31 /* editTypeBottomView.h in Headers */,
+				6BF558BC2C4508CB00701854 /* previewAudioPortraitDetailsView.h in Headers */,
 				6B2C1E872C070ADE00FDCF82 /* ZFPlayerConst.h in Headers */,
 				6BD5069F2B9576A4006E7CB0 /* forgetSecretKeyViewController.h in Headers */,
 				6BD506A02B9576A4006E7CB0 /* cloudPhoneExtraFileListModel.h in Headers */,
@@ -3934,6 +3953,7 @@
 				6B0D004D2BFE104B00F02719 /* queryOneShareModel.h in Headers */,
 				6BD506BE2B9576A4006E7CB0 /* diskListBgView.h in Headers */,
 				6BD506BF2B9576A4006E7CB0 /* privacyModeViewController.h in Headers */,
+				6BF558B62C44F11C00701854 /* previewAudioPortraitTopMoreView.h in Headers */,
 				6B2C1E5D2C070ADE00FDCF82 /* ZFFloatView.h in Headers */,
 				6BD506C02B9576A4006E7CB0 /* backupsFilerecordTableView.h in Headers */,
 				6B7DDF282C421DA900EBDFDD /* previewVideoLandscapeTopMoreView.h in Headers */,
@@ -4503,6 +4523,7 @@
 				6BD507182B9576A4006E7CB0 /* Reachability.m in Sources */,
 				6BD507192B9576A4006E7CB0 /* ModifyPWDFirstViewController.m in Sources */,
 				6BA08F522C01D05B00A2242D /* CWFileUploadManager.m in Sources */,
+				6BF558BB2C4508CB00701854 /* previewAudioPortraitDetailsView.m in Sources */,
 				6B2C1E3D2C070ADE00FDCF82 /* ZFPlayerStatusBar.m in Sources */,
 				6B1F7FCD2C0064B500954720 /* boxReceiveFileRecordCell.m in Sources */,
 				6B4C0F792C0314BA0070EF2E /* DFPlayer.m in Sources */,
@@ -4796,6 +4817,7 @@
 				6BD507CE2B9576A4006E7CB0 /* PlayerViewController.mm in Sources */,
 				6B93548B2BF2FE8700AA8D31 /* editTypeHeadView.m in Sources */,
 				6BD507CF2B9576A4006E7CB0 /* JSONModel+networking.m in Sources */,
+				6BF558B52C44F11C00701854 /* previewAudioPortraitTopMoreView.m in Sources */,
 				6BD507D02B9576A4006E7CB0 /* HWAboutViewController.m in Sources */,
 				6BD507D12B9576A4006E7CB0 /* SuperModel.m in Sources */,
 				6B4C0F7D2C0314BA0070EF2E /* DFPlayerModel.m in Sources */,
@@ -4836,6 +4858,7 @@
 				6BF52C962AD5546500A617DB /* Reachability.m in Sources */,
 				18F9CAFB2ABD35C4003FF71A /* ModifyPWDFirstViewController.m in Sources */,
 				6BA08F512C01D05B00A2242D /* CWFileUploadManager.m in Sources */,
+				6BF558B92C4508CB00701854 /* previewAudioPortraitDetailsView.m in Sources */,
 				6B2C1E3C2C070ADE00FDCF82 /* ZFPlayerStatusBar.m in Sources */,
 				6B1F7FCB2C0064B500954720 /* boxReceiveFileRecordCell.m in Sources */,
 				6B4C0F782C0314BA0070EF2E /* DFPlayer.m in Sources */,
@@ -5129,6 +5152,7 @@
 				18FCE5382AD1351B0020F623 /* PlayerViewController.mm in Sources */,
 				6B9354882BF2FE8700AA8D31 /* editTypeHeadView.m in Sources */,
 				183AE60A2A89CE3C00B11CB0 /* JSONModel+networking.m in Sources */,
+				6BF558B32C44F11C00701854 /* previewAudioPortraitTopMoreView.m in Sources */,
 				A0951D9427ED61F5000E6AC4 /* HWAboutViewController.m in Sources */,
 				183AE5E12A89CD3C00B11CB0 /* SuperModel.m in Sources */,
 				6B4C0F7C2C0314BA0070EF2E /* DFPlayerModel.m in Sources */,

+ 22 - 0
创维盒子/双子星云手机/Assets.xcassets/NAS/edit_details_icon.imageset/Contents.json

@@ -0,0 +1,22 @@
+{
+  "images" : [
+    {
+      "idiom" : "universal",
+      "scale" : "1x"
+    },
+    {
+      "filename" : "edit_details_icon@2x.png",
+      "idiom" : "universal",
+      "scale" : "2x"
+    },
+    {
+      "filename" : "edit_details_icon@3x.png",
+      "idiom" : "universal",
+      "scale" : "3x"
+    }
+  ],
+  "info" : {
+    "author" : "xcode",
+    "version" : 1
+  }
+}

BIN
创维盒子/双子星云手机/Assets.xcassets/NAS/edit_details_icon.imageset/edit_details_icon@2x.png


BIN
创维盒子/双子星云手机/Assets.xcassets/NAS/edit_details_icon.imageset/edit_details_icon@3x.png


+ 22 - 0
创维盒子/双子星云手机/Assets.xcassets/NAS/nas_preview_more_black.imageset/Contents.json

@@ -0,0 +1,22 @@
+{
+  "images" : [
+    {
+      "idiom" : "universal",
+      "scale" : "1x"
+    },
+    {
+      "filename" : "nas_preview_more_black@2x.png",
+      "idiom" : "universal",
+      "scale" : "2x"
+    },
+    {
+      "filename" : "nas_preview_more_black@3x.png",
+      "idiom" : "universal",
+      "scale" : "3x"
+    }
+  ],
+  "info" : {
+    "author" : "xcode",
+    "version" : 1
+  }
+}

BIN
创维盒子/双子星云手机/Assets.xcassets/NAS/nas_preview_more_black.imageset/nas_preview_more_black@2x.png


BIN
创维盒子/双子星云手机/Assets.xcassets/NAS/nas_preview_more_black.imageset/nas_preview_more_black@3x.png


+ 22 - 0
创维盒子/双子星云手机/Assets.xcassets/NAS/nas_preview_share_black.imageset/Contents.json

@@ -0,0 +1,22 @@
+{
+  "images" : [
+    {
+      "idiom" : "universal",
+      "scale" : "1x"
+    },
+    {
+      "filename" : "nas_preview_share_black@2x.png",
+      "idiom" : "universal",
+      "scale" : "2x"
+    },
+    {
+      "filename" : "nas_preview_share_black@3x.png",
+      "idiom" : "universal",
+      "scale" : "3x"
+    }
+  ],
+  "info" : {
+    "author" : "xcode",
+    "version" : 1
+  }
+}

BIN
创维盒子/双子星云手机/Assets.xcassets/NAS/nas_preview_share_black.imageset/nas_preview_share_black@2x.png


BIN
创维盒子/双子星云手机/Assets.xcassets/NAS/nas_preview_share_black.imageset/nas_preview_share_black@3x.png


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

@@ -12,6 +12,8 @@ NS_ASSUME_NONNULL_BEGIN
 @interface audioPlayerViewController : BaseViewController
 @property (nonatomic, assign) NSInteger index;//当前位置
 @property (nonatomic, strong) NSArray * audioOutSidedataArray;//传入数据 NASFileAudioDataModel
+
+@property (nonatomic,copy) void (^didNeedToRegetDataFun)(void);
 @end
 
 NS_ASSUME_NONNULL_END

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

@@ -13,12 +13,19 @@
 #import "lastFileManager.h"
 #import <QuartzCore/QuartzCore.h>
 
+#import "previewAudioPortraitTopMoreView.h"
+#import "editShareView.h"
+#import "uploadFileRecordViewController.h"
+#import "previewAudioPortraitDetailsView.h"
+
 @interface audioPlayerViewController ()<DFPlayerDelegate,DFPlayerDataSource>
 
 @property (nonatomic, strong) UIImageView*bgImageView;//中间图片
 @property (nonatomic, strong) UIImageView*playImageView;//
 @property (nonatomic, strong) CABasicAnimation *rotationAnimation;
 
+@property (nonatomic, strong) UILabel *AudioTitleLab;//音乐标题
+
 @property (nonatomic, strong)UIButton * playPauseBtn;
 @property (nonatomic, strong)UIButton * playNextBtn;
 @property (nonatomic, strong)UIButton * playLastBtn;
@@ -75,6 +82,19 @@
     
     [self setAnchorPoint:CGPointMake(1.0, 0.0) forView:_playImageView];
     
+    _AudioTitleLab = [[UILabel alloc] init];
+    _AudioTitleLab.textAlignment = NSTextAlignmentCenter;
+    _AudioTitleLab.textColor = [UIColor blackColor];
+    _AudioTitleLab.font = [UIFont systemFontOfSize:18.0];
+    _AudioTitleLab.numberOfLines = 2;
+    [self.view addSubview:_AudioTitleLab];
+    [_AudioTitleLab mas_makeConstraints:^(MASConstraintMaker *make) {
+        make.top.equalTo(_bgImageView.mas_bottom).offset(15);
+        make.left.mas_equalTo(30);
+        make.right.mas_equalTo(-30);
+        make.height.mas_equalTo(45);
+    }];
+    
     //底部UI背景
     UIImageView* bottombgImageView = [UIImageView new];
     bottombgImageView.image = [UIImage imageNamed:@"audioBottomBg"];
@@ -89,9 +109,44 @@
         make.height.mas_equalTo(bottombgH);
     }];
     
+    
+    [self initRightUpButtonFun];
     [self initDFPlayer];
 }
 
+#pragma mark 右上角按钮
+- (void)initRightUpButtonFun
+{
+    //更多按钮
+    UIButton *morenButton = [[UIButton alloc] init];
+    [morenButton setImage:[UIImage imageNamed:@"nas_preview_more_black"] forState:UIControlStateNormal];
+    morenButton.tag = 1;
+    [morenButton addTarget:self action:@selector(didClickHeadButtonFun:) forControlEvents:UIControlEventTouchUpInside];
+    [self.view addSubview:morenButton];
+    
+    [morenButton mas_makeConstraints:^(MASConstraintMaker *make) {
+        make.centerY.equalTo(self.titleLabel.mas_centerY).offset(0);
+        make.right.mas_equalTo(-16);
+        make.width.mas_equalTo(30);
+        make.height.mas_equalTo(30);
+    }];
+    
+    UIButton *shareButton = [[UIButton alloc] init];
+    [shareButton setImage:[UIImage imageNamed:@"nas_preview_share_black"] forState:UIControlStateNormal];
+    shareButton.tag = 2;
+    [shareButton addTarget:self action:@selector(didClickHeadButtonFun:) forControlEvents:UIControlEventTouchUpInside];
+    [self.view addSubview:shareButton];
+    
+    [shareButton mas_makeConstraints:^(MASConstraintMaker *make) {
+        make.centerY.equalTo(self.titleLabel.mas_centerY).offset(0);
+        make.right.equalTo(morenButton.mas_left).offset(-20);
+        make.width.mas_equalTo(30);
+        make.height.mas_equalTo(30);
+    }];
+    
+
+}
+
 #pragma mark - 以下代码与DFPlayer库有关
 #pragma mark - 初始化DFPlayer
 - (void)initDFPlayer{
@@ -277,6 +332,169 @@
     
 }
 
+#pragma mark 点击右上角 更多或分享
+- (void)didClickHeadButtonFun:(UIButton*)but
+{
+    NSInteger tag = but.tag;
+    if(tag == 1){
+        previewAudioPortraitTopMoreView *topMoreV = [[previewAudioPortraitTopMoreView alloc] init];
+        [self.view addSubview:topMoreV];
+        
+        [topMoreV mas_makeConstraints:^(MASConstraintMaker *make) {
+            make.top.mas_equalTo(0);
+            make.bottom.mas_equalTo(0);
+            make.right.mas_equalTo(0);
+            make.left.mas_equalTo(0);
+        }];
+        
+        KWeakSelf
+        topMoreV.didClickButtonFun = ^(NSInteger tag) {
+            switch (tag) {
+                case 10:
+                    [weakSelf gotoDownLoadFileFun];
+                    break;
+                case 11:
+                    [weakSelf showDeleteAlearViewFun];
+                    break;
+                case 12:
+                    [weakSelf didClickDetailsFun];
+                    break;
+                default:
+                    break;
+            }
+        };
+    }
+    else if (tag == 2){
+        [self gotoShareViewFun];
+    }
+    
+}
+
+#pragma mark 用户点击分享
+- (void)gotoShareViewFun
+{
+    editShareView *editShareV = [[editShareView alloc] init];
+    
+    NASFileAudioDataModel *dataModel = _audioOutSidedataArray[_index];
+    editShareV.didSelectListArr = [NSMutableArray arrayWithArray:@[dataModel]];
+    editShareV.shareFileType = @"4";
+    
+    [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)gotoDownLoadFileFun
+{
+    NASFileAudioDataModel *dataModel = _audioOutSidedataArray[_index];
+    
+    couldPhoneFileModel* fileModel =  [couldPhoneFileModel new];
+    fileModel.fileType =  @"audio";
+    fileModel.path = dataModel.path;
+    fileModel.name = dataModel.name;
+    fileModel.length = dataModel.size;
+    
+    NSMutableArray *arr = [NSMutableArray new];
+    [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];
+    NASFileAudioDataModel *dataModel = _audioOutSidedataArray[_index];
+    [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:dataModel.path];
+        }
+        else{
+            
+        }
+    } failure:^(NSError * _Nonnull error) {
+        [weakSelf removeNewIndicator];
+    }];
+}
+
+#pragma  mark 删除成功
+- (void)didDeleteSucFun:(NSString*)path
+{
+    //1.删除最近文件数据
+    [[lastFileManager shareManager] deleteFileInfoWithUrl:path];
+    
+    if(_didNeedToRegetDataFun){
+        _didNeedToRegetDataFun();
+    }
+    [self.navigationController popViewControllerAnimated:YES];
+}
+
+#pragma mark 用户点击详情
+- (void)didClickDetailsFun
+{
+    NSMutableArray *pathArr = [NSMutableArray new];
+    NASFileAudioDataModel *dataModel = _audioOutSidedataArray[_index];
+    
+    previewAudioPortraitDetailsView *topDetailsV = [[previewAudioPortraitDetailsView alloc] initWithFrame:CGRectZero withData:dataModel];
+    [self.view addSubview:topDetailsV];
+    
+    [topDetailsV mas_makeConstraints:^(MASConstraintMaker *make) {
+        make.top.mas_equalTo(0);
+        make.bottom.mas_equalTo(0);
+        make.right.mas_equalTo(0);
+        make.left.mas_equalTo(0);
+    }];
+}
+
 #pragma mark - DFPLayer dataSource
 - (NSArray<DFPlayerModel *> *)df_audioDataForPlayer:(DFPlayer *)player{
     _dataArray = [NSMutableArray array];
@@ -449,7 +667,8 @@
 {
     if(_index < _audioOutSidedataArray.count){
         NASFileAudioDataModel* dataModel = _audioOutSidedataArray[_index];
-        self.titleLabel.text = dataModel.name;
+        //self.titleLabel.text = dataModel.name;
+        _AudioTitleLab.text = dataModel.name;
         
     }
 }
@@ -509,9 +728,11 @@
     // 移除imageView上的动画
     [self.bgImageView.layer removeAnimationForKey:@"rotateAnimation"];
     
-    // 可选:如果你需要重置imageView的旋转状态(回到初始位置)
-    // 注意:这可能会使动画看起来不连续,因为你是直接设置了layer的transform
-    self.bgImageView.layer.transform = CATransform3DIdentity;
+    
+    [UIView animateWithDuration:5 animations:^{
+        self.bgImageView.layer.transform = CATransform3DIdentity;
+    }];
+
 }
 
 - (void)restartRotatingImage {

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

@@ -389,6 +389,10 @@
         vc.audioOutSidedataArray = _curNASFileAudioMod.data.list;
         [self.navigationController pushViewController:vc animated:YES];
         
+        KWeakSelf
+        vc.didNeedToRegetDataFun = ^{
+            [weakSelf getFileListFun];
+        };
     }
 }
 

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

@@ -24,7 +24,6 @@
 #import "audioPlayerViewController.h"
 #import "imageDetailsScrollViewController.h"
 
-
 @interface previewFileAndFolderSecondViewController ()<UITableViewDelegate,UITableViewDataSource,DZNEmptyDataSetSource, DZNEmptyDataSetDelegate>
 {
     UIButton* rightTransferListButton;//传输列表
@@ -276,6 +275,11 @@
             vc.index = 0;
             vc.audioOutSidedataArray = dataArr;
             [self.navigationController pushViewController:vc animated:YES];
+            
+            KWeakSelf
+            vc.didNeedToRegetDataFun = ^{
+                [weakSelf getFileListFun];
+            };
         }
         else if([dataModel.type isEqualToString:@"jpg"]){
 

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

@@ -402,6 +402,11 @@
             vc.index = 0;
             vc.audioOutSidedataArray = dataArr;
             [self.navigationController pushViewController:vc animated:YES];
+            
+            KWeakSelf
+            vc.didNeedToRegetDataFun = ^{
+                [weakSelf getFileListFun];
+            };
         }
         else if([dataModel.type isEqualToString:@"jpg"]){
 

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

@@ -0,0 +1,17 @@
+//
+//  previewAudioPortraitDetailsView.h
+//  双子星云手机
+//
+//  Created by xd h on 2024/7/15.
+//
+
+#import <UIKit/UIKit.h>
+#import "NASFileAudioModel.h"
+
+NS_ASSUME_NONNULL_BEGIN
+
+@interface previewAudioPortraitDetailsView : UIView
+- (id)initWithFrame:(CGRect)frame withData:(NASFileAudioDataModel*)dataModel;
+@end
+
+NS_ASSUME_NONNULL_END

+ 159 - 0
创维盒子/双子星云手机/Class/Set/previewFile/view/previewAudioPortraitDetailsView.m

@@ -0,0 +1,159 @@
+//
+//  previewAudioPortraitDetailsView.m
+//  双子星云手机
+//
+//  Created by xd h on 2024/7/15.
+//
+
+#import "previewAudioPortraitDetailsView.h"
+
+@interface previewAudioPortraitDetailsView ()
+@property (nonatomic, strong)NASFileAudioDataModel *dataModel;
+@end
+
+@implementation previewAudioPortraitDetailsView
+
+- (id)initWithFrame:(CGRect)frame withData:(NASFileAudioDataModel*)dataModel{
+    self = [super initWithFrame:frame];
+    
+    self.backgroundColor = [UIColor hwColor:@"#000000" alpha:0.6];
+    _dataModel = dataModel;
+    [self drawAnyView];
+    
+    return self;
+}
+
+-(void)drawAnyView
+{
+    //大按钮响应
+    UIButton *bigRightButton = [[UIButton alloc] init];
+    bigRightButton.tag = 1;
+    [bigRightButton addTarget:self action:@selector(didClickButtonFun:) forControlEvents:UIControlEventTouchUpInside];
+    [self addSubview:bigRightButton];
+    //bigRightButton.backgroundColor= [UIColor greenColor];
+    
+    [bigRightButton mas_makeConstraints:^(MASConstraintMaker *make) {
+        make.top.mas_equalTo(0);
+        make.left.mas_equalTo(0);
+        make.right.mas_equalTo(0);
+        make.bottom.mas_equalTo(0);
+    }];
+    
+    UIView *whiteBgView = [[UIView alloc] init];
+    whiteBgView.backgroundColor = [UIColor whiteColor];
+    [self addSubview:whiteBgView];
+    whiteBgView.layer.cornerRadius = 12;
+    whiteBgView.layer.masksToBounds = YES;
+    
+    [whiteBgView mas_makeConstraints:^(MASConstraintMaker *make) {
+        make.bottom.mas_equalTo(20);
+        make.right.mas_equalTo(0);
+        make.left.mas_equalTo(0);
+        make.height.mas_equalTo(254 + 20);
+        //make.height.mas_equalTo(150);
+    }];
+    
+    
+    NSArray *butTextArr = @[NSLocalizedString(@"NAS_details_file_type",nil),
+                            NSLocalizedString(@"NAS_details_file_name",nil),
+                            NSLocalizedString(@"NAS_details_file_date",nil),
+                            NSLocalizedString(@"NAS_details_file_size",nil),
+                            NSLocalizedString(@"NAS_details_file_path",nil)];
+    
+
+    CGFloat labelHeight = 40.0;
+    
+    
+    for (int i=0; i<butTextArr.count; i++) {
+        
+        UILabel *leftLab = [[UILabel alloc] init];
+        leftLab.text = butTextArr[i];
+        leftLab.textColor = [UIColor hwColor:@"#666666"];
+        leftLab.font = [UIFont systemFontOfSize:14.0];
+        [whiteBgView addSubview:leftLab];
+    
+        [leftLab mas_makeConstraints:^(MASConstraintMaker *make) {
+            make.left.mas_equalTo(25);
+            make.width.mas_equalTo(100);
+            make.height.mas_equalTo(labelHeight);
+            make.top.mas_equalTo(20 + (labelHeight)*i);
+        }];
+        
+        UILabel *rightLab = [[UILabel alloc] init];
+        rightLab.textColor = [UIColor hwColor:@"#0A132B"];
+        rightLab.font = [UIFont boldSystemFontOfSize:14.0];
+        [whiteBgView addSubview:rightLab];
+    
+        [rightLab mas_makeConstraints:^(MASConstraintMaker *make) {
+            make.left.equalTo(leftLab.mas_right).offset(0);
+            make.right.mas_equalTo(-25);
+            make.height.mas_equalTo(labelHeight);
+            make.top.equalTo(leftLab.mas_top).offset(0);
+        }];
+        
+        switch (i) {
+            case 0:
+                rightLab.text = NSLocalizedString(@"my_set_no_music",nil);
+                break;
+            case 1:
+                rightLab.text = _dataModel.name;
+                break;
+            case 2:
+                rightLab.text = _dataModel.time;
+                break;
+            case 3:{
+                NSInteger totalSize_k = _dataModel.size / 1024;
+                if(totalSize_k == 0){
+                    totalSize_k = 1;
+                }
+                NSString *totalSizeStr = @"";
+                if(totalSize_k < 1024){
+                    totalSizeStr = [[NSString alloc] initWithFormat:@"%ldKB",totalSize_k];
+                }
+                else if( totalSize_k >= 1024 && totalSize_k < 1024*1024){
+                    totalSizeStr = [[NSString alloc] initWithFormat:@"%.1fMB",totalSize_k/1024.0];
+                    
+                }
+                else{
+                    totalSizeStr = [[NSString alloc] initWithFormat:@"%.2fG",totalSize_k/1024.0/1024.0];
+                }
+                rightLab.text = totalSizeStr;
+            }
+                break;
+            case 4:{
+                NSString *path = _dataModel.path;
+                if([path containsString:@"mnt/media_rw"]){
+                    path = [path stringByReplacingOccurrencesOfString:@"mnt/media_rw" withString:NSLocalizedString(@"disk_Extra_default_tip",nil)];
+                }
+                else if([path containsString:@"storage/emulated/0"]){
+                    path = [path stringByReplacingOccurrencesOfString:@"storage/emulated/0" withString:NSLocalizedString(@"disk_phone_default_tip",nil)];
+                }
+                else if([path containsString:@"sdcard"]){
+                    path = [path stringByReplacingOccurrencesOfString:@"sdcard" withString:NSLocalizedString(@"disk_phone_default_tip",nil)];
+                }
+                rightLab.text = path;
+            }
+                
+                break;
+            default:
+                break;
+        }
+        
+    }
+}
+
+#pragma mark 按钮事件
+- (void)didClickButtonFun:(UIButton*)but
+{
+    NSInteger tag = but.tag;
+    HLog(@"%ld",tag);
+    
+    [self removeFun];
+    
+}
+
+- (void)removeFun
+{
+    [self removeFromSuperview];
+}
+@end

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

@@ -0,0 +1,16 @@
+//
+//  previewAudioPortraitTopMoreView.h
+//  双子星云手机
+//
+//  Created by xd h on 2024/7/15.
+//
+
+#import <UIKit/UIKit.h>
+
+NS_ASSUME_NONNULL_BEGIN
+
+@interface previewAudioPortraitTopMoreView : UIView
+@property (nonatomic,copy) void (^didClickButtonFun)(NSInteger tag);
+@end
+
+NS_ASSUME_NONNULL_END

+ 118 - 0
创维盒子/双子星云手机/Class/Set/previewFile/view/previewAudioPortraitTopMoreView.m

@@ -0,0 +1,118 @@
+//
+//  previewAudioPortraitTopMoreView.m
+//  双子星云手机
+//
+//  Created by xd h on 2024/7/15.
+//
+
+#import "previewAudioPortraitTopMoreView.h"
+
+@implementation previewAudioPortraitTopMoreView
+
+- (id)initWithFrame:(CGRect)frame{
+    self = [super initWithFrame:frame];
+    
+    self.backgroundColor = [UIColor hwColor:@"#000000" alpha:0.6];
+    [self drawAnyView];
+    
+    return self;
+}
+
+-(void)drawAnyView
+{
+    //大按钮响应
+    UIButton *bigRightButton = [[UIButton alloc] init];
+    bigRightButton.tag = 1;
+    [bigRightButton addTarget:self action:@selector(didClickButtonFun:) forControlEvents:UIControlEventTouchUpInside];
+    [self addSubview:bigRightButton];
+    //bigRightButton.backgroundColor= [UIColor greenColor];
+    
+    [bigRightButton mas_makeConstraints:^(MASConstraintMaker *make) {
+        make.top.mas_equalTo(0);
+        make.left.mas_equalTo(0);
+        make.right.mas_equalTo(0);
+        make.bottom.mas_equalTo(0);
+    }];
+    
+    UIView *whiteBgView = [[UIView alloc] init];
+    whiteBgView.backgroundColor = [UIColor whiteColor];
+    [self addSubview:whiteBgView];
+    whiteBgView.layer.cornerRadius = 8;
+    whiteBgView.layer.masksToBounds = YES;
+    
+    [whiteBgView mas_makeConstraints:^(MASConstraintMaker *make) {
+        make.top.mas_equalTo(105);
+        make.right.mas_equalTo(-16);
+        make.width.mas_equalTo(112);
+        make.height.mas_equalTo(170);
+        //make.height.mas_equalTo(150);
+    }];
+    
+    NSArray *butImageArr = @[@"edit_download_icon",@"edit_del_icon",@"edit_details_icon"];
+    
+    NSArray *butTextArr = @[NSLocalizedString(@"my_set_no_File_download",nil),
+                            NSLocalizedString(@"File_upload_Record_delete",nil),
+                            NSLocalizedString(@"NAS_edit_details_title",nil)];
+    
+
+    CGFloat butHeight = 50.0;
+   
+    
+    for (int i=0; i<butImageArr.count; i++) {
+        
+        UIButton *but = [[UIButton alloc] init];
+        but.tag = 10+i;
+        [but addTarget:self action:@selector(didClickButtonFun:) forControlEvents:UIControlEventTouchUpInside];
+        NSString *butTitle = [[NSString alloc] initWithFormat:@"   %@",butTextArr[i]];
+        [but setImage:[UIImage imageNamed:butImageArr[i]] forState:UIControlStateNormal];
+        [but setTitle:butTitle forState:UIControlStateNormal];
+        [but setTitleColor:[UIColor hwColor:@"#0A132B"] forState:UIControlStateNormal];
+        but.titleLabel.font = [UIFont systemFontOfSize:14.0];
+        [whiteBgView addSubview:but];
+        
+        [but mas_makeConstraints:^(MASConstraintMaker *make) {
+            make.left.mas_equalTo(0);
+            make.right.mas_equalTo(0);
+            make.height.mas_equalTo(butHeight);
+            make.top.mas_equalTo(10 + butHeight*i);
+        }];
+        
+//        if(i != butImageArr.count -1){
+//            UIView *lineV = [UIView new];
+//            lineV.backgroundColor = [UIColor hwColor:@"#F3F5F9"];
+//            [whiteBgView addSubview:lineV];
+//
+//            [lineV mas_makeConstraints:^(MASConstraintMaker *make) {
+//                make.left.mas_equalTo(8);
+//                make.right.mas_equalTo(-8);
+//                make.height.mas_equalTo(0.5);
+//                make.top.mas_equalTo(butHeight*(i+1));
+//            }];
+//        }
+        
+    }
+}
+
+#pragma mark 按钮事件
+- (void)didClickButtonFun:(UIButton*)but
+{
+    NSInteger tag = but.tag;
+    HLog(@"%ld",tag);
+    
+    [self removeFun];
+    
+    if(tag == 1){
+        return;
+    }
+    
+    if(_didClickButtonFun){
+        _didClickButtonFun(tag);
+    }
+}
+
+- (void)removeFun
+{
+    [self removeFromSuperview];
+}
+@end
+

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

@@ -349,6 +349,11 @@
             vc.index = index;
             vc.audioOutSidedataArray = audioDataArr;
             [self.navigationController pushViewController:vc animated:YES];
+            
+            KWeakSelf
+            vc.didNeedToRegetDataFun = ^{
+                [weakSelf getLastFileDataFun];
+            };
         }
         else if([dataModel.type isEqualToString:@"jpg"]){
             

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

@@ -234,6 +234,11 @@
             vc.index = index;
             vc.audioOutSidedataArray = audioDataArr;
             [self.navigationController pushViewController:vc animated:YES];
+            
+            KWeakSelf
+            vc.didNeedToRegetDataFun = ^{
+                [weakSelf getLastFileDataFun];
+            };
         }
         else if([dataModel.type isEqualToString:@"jpg"]){
             

+ 6 - 0
创维盒子/双子星云手机/zh-Hans.lproj/Localizable.strings

@@ -548,6 +548,12 @@
 "NAS_audio_playModel_circle"   = "顺序播放";
 "NAS_audio_playModel_shuffle"   = "随机播放";
 "NAS_audio_playModel_single"   = "单曲循环";
+"NAS_edit_details_title"   = "详情";
+"NAS_details_file_type"   = "文件类型:";
+"NAS_details_file_name"   = "文件名称:";
+"NAS_details_file_date"   = "创建日期:";
+"NAS_details_file_size"   = "文件大小:";
+"NAS_details_file_path"   = "所在位置:";
 
 "cloudPhone_enter_tip"   = "进入云机";
 "cloudPhone_upload_app"   = "应用上传";