| 
					
				 | 
			
			
				@@ -6,12 +6,13 @@ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 //  Copyright © 2020 gin. All rights reserved. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 // 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-import UIKit 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import BFFramework 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+import UIKit 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 class MVBannerCell: UICollectionViewCell { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-     
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    //封面 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    // 做同款 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    var reCreateBtnClicHandle: ((_ sender: UIButton, _ videoInfo: PQVideoListModel?) -> Void)? 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    // 封面 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     lazy var converView: UIImageView = { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         let iv = UIImageView() 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         iv.clipsToBounds = true 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -20,123 +21,167 @@ class MVBannerCell: UICollectionViewCell { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         iv.addCorner(corner: 8) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         return iv 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     }() 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-     
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    lazy var progressView:UIProgressView = { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    lazy var progressView: UIProgressView = { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         let progressView = UIProgressView(progressViewStyle: .default) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         progressView.progressTintColor = .white 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         return progressView 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     }() 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-     
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     lazy var backShadowView: UIView = { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        let backShowView = UIView.init() 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        let backShowView = UIView() 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         backShowView.layer.masksToBounds = false 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         backShowView.layer.shadowColor = UIColor.black.cgColor 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        backShowView.layer.shadowOpacity = 0.3;//设置阴影的透明度 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        backShowView.layer.shadowOpacity = 0.3 // 设置阴影的透明度 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         backShowView.layer.shadowRadius = 4 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        backShowView.layer.shadowOffset = CGSize.init(width: 0, height: 4)//设置阴影的偏移量 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        backShowView.layer.shadowOffset = CGSize(width: 0, height: 4) // 设置阴影的偏移量 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         return backShowView 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     }() 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    //下面 marks view 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    // 下面 marks view 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     lazy var bottmMaskView: UIImageView = { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        let bottmMaskView = UIImageView.init(image: UIImage.init(named: "home_marks")) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        let bottmMaskView = UIImageView(image: UIImage(named: "home_marks")) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        bottmMaskView.isUserInteractionEnabled = true 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         bottmMaskView.addCorner(corner: 8) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         return bottmMaskView 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     }() 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    //暂停view 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    // 暂停view 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     lazy var pauseView: UIImageView = { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        let pauseView = UIImageView.init(image: UIImage.init(named: "video_pause")) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        let pauseView = UIImageView(image: UIImage(named: "video_pause")) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         pauseView.isHidden = false 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         return pauseView 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     }() 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-     
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-     
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    /// 音乐内容view 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    lazy var musicContenView: UIView = { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        let musicContenView = UIView() 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        return musicContenView 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    }() 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    // 音乐图片 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    lazy var musicImageView: UIImageView = { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        let musicImageView = UIImageView(image: UIImage(named: "musicName_icon")) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        musicImageView.showLoadingAnimation(duration: 3) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        return musicImageView 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    }() 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    // 音乐背景 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    lazy var musicBgView: UIImageView = { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        let musicBgView = UIImageView(image: UIImage(named: "musicName_bg")) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        return musicBgView 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    }() 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     /// 音乐歌曲名称 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     lazy var musicNameLab: LMJHorizontalScrollText = { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        let name:String = "文件名称" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        let nameWidth: CGFloat = sizeWithText(text: "\(name)", font: UIFont.systemFont(ofSize: 13), size: CGSize(width: cScreenWidth - ((cDefaultMargin * 6 + 16 * 2) * 2) - (25 + cDefaultMargin * 3), height: cDefaultMargin * 3)).width 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        let musicNameLab = LMJHorizontalScrollText(frame: CGRect(x: 0, y: 0, width: nameWidth < 127 ? 127 : nameWidth, height: cDefaultMargin * 3)) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+//        let name: String = "" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+//        let nameWidth: CGFloat = sizeWithText(text: "\(name)", font: UIFont.systemFont(ofSize: 13), size: CGSize(width: cScreenWidth - ((cDefaultMargin * 6 + 16 * 2) * 2) - (25 + cDefaultMargin * 3), height: cDefaultMargin * 3)).width 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        let musicNameLab = LMJHorizontalScrollText(frame: CGRect(x: 16 + cDefaultMargin, y: 0, width: cScreenWidth - 90 - (16 + cDefaultMargin) * 2 - (10 + 106 + 10), height: 32)) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         musicNameLab.textColor = UIColor.white 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        musicNameLab.textFont = UIFont.systemFont(ofSize: 13) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        musicNameLab.textFont = UIFont.systemFont(ofSize: 15, weight: .semibold) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         musicNameLab.speed = 0.03 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         musicNameLab.moveDirection = LMJTextScrollMoveLeft 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        musicNameLab.moveMode = LMJTextScrollContinuous 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        musicNameLab.moveMode = LMJTextScrollFromOutside 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         return musicNameLab 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     }() 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-     
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-     
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-     
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    /// 音乐标题 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    lazy var musicNameView: UIView = { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        let musicNameView = UIView() 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        musicNameView.addSubview(musicNameLab) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        let nameWidth: CGFloat = musicNameLab.frame.width + (25 + cDefaultMargin * 3) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        musicNameView.frame = CGRect(x: 16, y: 492, width: nameWidth, height: cDefaultMargin * 3) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-   
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        let musicImageView = UIImageView(image:UIImage.init().BF_Image(named: "stuckPoint_reCreate_music")) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        musicImageView.frame = CGRect(x:0, y: (musicNameView.frame.height - 22) / 2, width: 22, height: 22) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        musicNameView.addSubview(musicImageView) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        musicNameLab.frame.origin.x = musicImageView.frame.maxX + 5 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        return musicNameView 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    }() 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-     
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    //做同款 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    var reCreateBtnClicHandle: ((_ sender: UIButton, _ videoInfo: PQVideoListModel?) -> Void)? 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     lazy var reCreateBtn: UIButton = { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         let reCreateBtn = UIButton(type: .custom) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        reCreateBtn.setTitle(" 使用音乐", for: .normal) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        reCreateBtn.titleLabel?.font = UIFont.systemFont(ofSize: 15, weight: .semibold) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        reCreateBtn.setTitleColor(UIColor.white, for: .normal) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         reCreateBtn.addCorner(corner: 8) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         reCreateBtn.setImage(UIImage(named: "reCreate"), for: .normal) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         reCreateBtn.addTarget(self, action: #selector(btnClick(sender:)), for: .touchUpInside) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         reCreateBtn.backgroundColor = UIColor.hexColor(hexadecimal: "#3DC1C1") 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        reCreateBtn.alpha = 0.8 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         return reCreateBtn 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     }() 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-     
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    //视频分类 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    lazy var typeLabe: UILabel = { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        let typeLabe = UILabel() 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        typeLabe.backgroundColor = UIColor.init(red: 1, green: 1, blue: 1, alpha: 0.2) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        typeLabe.alpha = 0.8 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        typeLabe.textColor = .white 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        typeLabe.text = "热门" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        typeLabe.textAlignment = .center 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        typeLabe.addCorner(corner: 12) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        typeLabe.font = UIFont.boldSystemFont(ofSize: 13) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        return typeLabe 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    // 视频分类 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    lazy var typeImage: UIImageView = { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        let typeImage = UIImageView(image: UIImage(named: "categary_icon")) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        return typeImage 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     }() 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-     
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-     
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    // 视频分类 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    lazy var typeLab: UILabel = { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        let typeLab = UILabel() 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        typeLab.font = UIFont.systemFont(ofSize: 14, weight: .semibold) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        typeLab.textColor = UIColor.white 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        return typeLab 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    }() 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    override func prepareForReuse() { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        musicNameLab.stop() 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     var videoData: PQVideoListModel? { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         didSet { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             addData() 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            addLayout() 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-     
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     override func layoutSubviews() { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         super.layoutSubviews() 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    override init(frame: CGRect) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        super.init(frame: frame) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        contentView.addSubview(backShadowView) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        backShadowView.addSubview(converView) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        backShadowView.addSubview(bottmMaskView) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        backShadowView.addSubview(pauseView) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        bottmMaskView.addSubview(progressView) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        bottmMaskView.addSubview(typeImage) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        bottmMaskView.addSubview(typeLab) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        bottmMaskView.addSubview(reCreateBtn) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        bottmMaskView.addSubview(musicContenView) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        musicContenView.addSubview(musicBgView) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        musicContenView.addSubview(musicImageView) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        musicBgView.addSubview(musicNameLab) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    func addData() { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        typeLab.text = "\(videoData?.categoryName ?? "")" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        if videoData?.categoryImage != nil { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            typeImage.setNetImage(url: "\(videoData?.categoryImage ?? "")", placeholder: UIImage(named: "categary_icon")!) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        } else { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            typeImage.image = UIImage(named: "categary_icon") 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        musicNameLab.text = "\(videoData?.reCreateVideoData?.rhythmMusicName ?? "")  " 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        let coverImg = (videoData?.videoCoverSnapshotPath != nil && (videoData?.videoCoverSnapshotPath?.count ?? 0) > 0) ? videoData?.videoCoverSnapshotPath ?? "" : (videoData?.coverImg?["coverImgPath"] as? String ?? "") 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        BFLog(message: "coverImg url is \(coverImg)") 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        netImage(url: coverImg, mainView: converView) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        musicNameLab.stop() 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        DispatchQueue.main.asyncAfter(deadline: DispatchTime.now() + 2) { [weak self] in 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            self?.musicNameLab.move() 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    /// 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    /// - Returns: <#description#> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    func addLayout() { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         backShadowView.snp.remakeConstraints { make in 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             make.width.equalToSuperview().offset(-15) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             make.height.equalToSuperview().offset(-15) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             make.left.equalToSuperview().offset(15) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             make.top.equalToSuperview() 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-         
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         converView.snp.remakeConstraints { make in 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             make.width.equalToSuperview() 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            make.height.equalToSuperview().offset(0) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            make.height.equalToSuperview() 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             make.left.equalToSuperview() 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             make.top.equalToSuperview() 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        typeLabe.snp.remakeConstraints { make in 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            make.width.equalTo(50) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            make.height.equalTo(24) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            make.left.equalTo(musicNameView.snp_left) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            make.top.equalTo(musicNameView.snp_bottom).offset(6) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        pauseView.snp.remakeConstraints { make in 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            make.width.equalTo(72) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            make.height.equalTo(82) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            make.center.equalToSuperview() 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         bottmMaskView.snp.remakeConstraints { make in 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -146,58 +191,56 @@ class MVBannerCell: UICollectionViewCell { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             make.bottom.equalToSuperview() 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        progressView.snp.remakeConstraints { make in 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            make.height.equalTo(2) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            make.left.equalToSuperview().offset(3) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            make.right.equalToSuperview().offset(-3) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            make.bottom.equalToSuperview() 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         reCreateBtn.snp.remakeConstraints { make in 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            make.width.equalTo(92) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            make.width.equalTo(106) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             make.height.equalTo(46) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            make.right.equalToSuperview().offset(-16) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            make.bottom.equalToSuperview().offset(-20) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            make.right.equalToSuperview().offset(-cDefaultMargin) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            make.bottom.equalTo(progressView.snp_top).offset(-cDefaultMargin * 2) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        pauseView.snp.remakeConstraints { make in 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            make.width.equalTo(72) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            make.height.equalTo(82) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            make.center.equalToSuperview() 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        musicContenView.snp.remakeConstraints { make in 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            make.centerY.equalTo(reCreateBtn) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            make.height.equalTo(32) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            make.right.equalTo(reCreateBtn.snp_left).offset(-cDefaultMargin) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            make.left.equalToSuperview().offset(cDefaultMargin) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        progressView.snp.remakeConstraints { make in 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            make.width.equalToSuperview().offset(-6) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            make.height.equalTo(2) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            make.left.equalToSuperview().offset(3) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            make.bottom.equalToSuperview().offset(0) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        musicImageView.snp.makeConstraints { make in 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            make.top.left.equalToSuperview() 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            make.width.height.equalTo(musicContenView.snp_height) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-     
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    override init(frame: CGRect) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        super.init(frame: frame) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-         
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        contentView.addSubview(backShadowView) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        backShadowView.addSubview(converView) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        backShadowView.addSubview(bottmMaskView) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        backShadowView.addSubview(typeLabe) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        backShadowView.addSubview(musicNameView) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        backShadowView.addSubview(reCreateBtn) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        backShadowView.addSubview(pauseView) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        backShadowView.addSubview(progressView) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-   
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    func addData() { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        typeLabe.text = videoData?.categoryName 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-         
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        musicNameLab.text = " \(videoData?.reCreateVideoData?.rhythmMusicName ?? "")           " 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        let coverImg = (videoData?.videoCoverSnapshotPath != nil && (videoData?.videoCoverSnapshotPath?.count ?? 0) > 0) ? videoData?.videoCoverSnapshotPath ?? "" : (videoData?.coverImg?["coverImgPath"] as? String ?? "") 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        BFLog(message: "coverImg url is \(coverImg)") 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        netImage(url: coverImg, mainView: converView) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        musicBgView.snp.makeConstraints { make in 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            make.left.equalTo(musicImageView.snp_centerX) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            make.right.top.height.equalToSuperview() 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        typeImage.snp.remakeConstraints { make in 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            make.left.equalTo(musicContenView.snp_left) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            make.height.width.equalTo(22) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            make.bottom.equalTo(musicContenView.snp_top).offset(-cDefaultMargin) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        typeLab.snp.remakeConstraints { make in 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            make.left.equalTo(typeImage.snp_right).offset(5) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            make.centerY.equalTo(typeImage) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            make.right.equalTo(musicContenView) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-     
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     @objc func btnClick(sender: UIButton) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         if reCreateBtnClicHandle != nil { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             reCreateBtnClicHandle!(sender, videoData) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-     
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    required init?(coder: NSCoder) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    required init?(coder _: NSCoder) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         fatalError("init(coder:) has not been implemented") 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 } 
			 |