huzhiqiang пре 3 година
родитељ
комит
4987968023

+ 2 - 0
BFFramework/Classes/BFFramework_custom_umbrella.h

@@ -17,5 +17,7 @@
 #import <TXLiteAVSDK_Player/TXLiteAVSDK.h>
 #import <Bugly/Bugly.h>
 #import "MemoryCoculation.h"
+#import <BFCommonKit/BFCommonKit-Swift.h>
+#import <BFNetRequestKit/BFNetRequestKit-Swift.h>
 
 #endif /* AliyunOSSiOS_Bridging_Header */

+ 70 - 0
BFFramework/Classes/BFModules/BFCategorys/UICollectionView+Ext.swift

@@ -0,0 +1,70 @@
+//
+//  UICollectionView+Ext.swift
+//  PQCreativeCommunity
+//
+//  Created by SanW on 2021/8/4.
+//  Copyright © 2021 BytesFlow. All rights reserved.
+//
+
+import Foundation
+import MJRefresh
+
+extension UICollectionView{
+    /// 获取当前cell
+    /// - Returns: <#description#>
+    func visibleCell() -> UICollectionViewCell? {
+        let visibleRect = CGRect(origin: contentOffset, size: bounds.size)
+        let visiblePoint = CGPoint(x: visibleRect.midX, y: visibleRect.midY)
+        guard let visibleIndexPath = indexPathForItem(at: visiblePoint) else { return nil }
+        return cellForItem(at: visibleIndexPath)
+    }
+
+    /// 添加刷新组件
+    /// - Parameters:
+    ///   - scroller: <#scroller description#>
+    ///   - type: 1-头部跟尾部 2-头部 3-尾部
+    public func addRefreshView(type: REFRESH_TYPE = .REFRESH_TYPE_ALL, refreshHandle: ((_ isHeader: Bool) -> Void)?) {
+        if type == .REFRESH_TYPE_ALL || type == .REFRESH_TYPE_HEADER {
+            let header = MJRefreshNormalHeader.init {
+                if refreshHandle != nil {
+                    refreshHandle!(true)
+                }
+            }
+            header.setTitle("下拉刷新", for: .willRefresh)
+            header.setTitle("正在刷新...", for: .refreshing)
+            header.setTitle("松开刷新", for: .pulling)
+            header.setTitle("下拉刷新", for: .idle)
+            header.lastUpdatedTimeLabel?.isHidden = true
+            mj_header = header
+        }
+        if type == .REFRESH_TYPE_ALL || type == .REFRESH_TYPE_FOOTER {
+            // MJRefreshBackNormalFooter 不会附在上面
+            // MJRefreshAutoFooter 不会便宜
+            let footer = MJRefreshBackNormalFooter.init {
+                if refreshHandle != nil {
+                    refreshHandle!(false)
+                }
+            }
+            footer.setTitle("暂时没有更多了", for: .noMoreData)
+            footer.setTitle("精彩内容正在加载中...", for: .refreshing)
+            mj_footer = footer
+        }
+        
+        if type == .REFRESH_TYPE_AUTOFOOTER {
+            let footer = MJRefreshAutoNormalFooter.init {
+                if refreshHandle != nil {
+                    refreshHandle!(false)
+                }
+            }
+            footer.triggerAutomaticallyRefreshPercent = -70
+            footer.setTitle("暂时没有更多了", for: .noMoreData)
+            footer.setTitle("精彩内容正在加载中...", for: .refreshing)
+            mj_footer = footer
+        }
+    }
+
+    func indexPathsForElements(in rect: CGRect) -> [IndexPath] {
+        let allLayoutAttributes = collectionViewLayout.layoutAttributesForElements(in: rect)!
+        return allLayoutAttributes.map { $0.indexPath }
+    }
+}

+ 0 - 141
BFFramework/Classes/Base/View/PQLoadingHUB.swift

@@ -1,141 +0,0 @@
-//
-//  PQLoadingHUB.swift
-//  PQSpeed
-//
-//  Created by SanW on 2020/6/5.
-//  Copyright © 2020 BytesFlow. All rights reserved.
-//
-
-import UIKit
-
-public class PQLoadingHUBView: UIView {
-    // gif每一帧图
-    public var gifImages: [UIImage]?
-    // gif播放时长
-    public var duration: Double?
-
-    public lazy var loadingImage: UIImageView = {
-        let loadingImage = UIImageView()
-        loadingImage.tintColor = UIColor.hexColor(hexadecimal: PQBFConfig.shared.styleColor.rawValue)
-        return loadingImage
-    }()
-
-    override public init(frame: CGRect) {
-        super.init(frame: frame)
-        addSubview(loadingImage)
-        isUserInteractionEnabled = false
-        let data = try? Data(contentsOf: URL(fileURLWithPath: Bundle().BF_mainbundle().path(forResource: "stuckPoint_music_loading", ofType: ".gif")!))
-        if data != nil {
-            PQPHAssetVideoParaseUtil.parasGIFImage(data: data!, isRenderingColor: UIColor.hexColor(hexadecimal: PQBFConfig.shared.styleColor.rawValue)) { [weak self] _, images, duration in
-                self?.gifImages = images
-                self?.duration = duration
-            }
-        }
-    }
-
-    required init?(coder _: NSCoder) {
-        fatalError("init(coder:) has not been implemented")
-    }
-
-    override public func layoutSubviews() {
-        super.layoutSubviews()
-        // 334 * 307
-        let imageW: CGFloat = 67
-        let imageH: CGFloat = 67
-        loadingImage.frame = CGRect(x: (frame.width - imageW) / 2, y: (frame.height - imageW) / 2, width: imageW, height: imageH)
-    }
-
-    /// 开始加载
-    public func loading() {
-        loadingImage.displayGIF(data: nil, images: gifImages, repeatCount: .max, duration: duration ?? 2)
-    }
-
-    /// 停止加载
-    public func endLoading() {
-        loadingImage.removePlayGIF()
-    }
-
-    override public func removeFromSuperview() {
-        loadingImage.removePlayGIF()
-        loadingImage.removeFromSuperview()
-    }
-}
-
-public class PQLoadingHUB: NSObject {
-    public static let shared = PQLoadingHUB()
-    public let viewTag = 11111
-    public var isLoading: Bool = false
-
-    public func showHUB(isMode:Bool = false) {
-        DispatchQueue.main.async { [weak self] in
-            let window = UIApplication.shared.keyWindow
-            if (window?.viewWithTag(self!.viewTag)) == nil {
-                let loadingHUB: PQLoadingHUBView = PQLoadingHUBView(frame: CGRect(x: 0, y: 0, width: 100, height: 100))
-            
-                if(isMode){
-                    let backView = UIImageView.init(frame: window?.frame ?? .zero)
-                    backView.backgroundColor = .clear
-                    backView.isUserInteractionEnabled = true
-                    backView.addSubview(loadingHUB)
-                    backView.tag = self!.viewTag
-                    window?.addSubview(backView)
-                }else{
-                    loadingHUB.tag = self!.viewTag
-                    window?.addSubview(loadingHUB)
-                }
-             
-                loadingHUB.center = window?.center as! CGPoint
-                loadingHUB.loading()
-                self?.isLoading = true
-            }
-        }
-    }
-
-    public func dismissHUB() {
-        DispatchQueue.main.async { [weak self] in
-            let window = UIApplication.shared.keyWindow
-            if (window?.viewWithTag(self!.viewTag)) != nil {
-                window?.viewWithTag(self!.viewTag)?.removeFromSuperview()
-                self?.isLoading = false
-            }
-        }
-    }
-
-    public func showHUB(superView: UIView, isVerticality: Bool = false) {
-        DispatchQueue.main.async { [weak self] in
-            if superView.viewWithTag(self!.viewTag) == nil {
-                let hubW: CGFloat = 100
-                let supW: CGFloat = superView.frame.width
-                let supH: CGFloat = superView.frame.height
-                let hubY: CGFloat = isVerticality ? ((supW - hubW) / 2) : ((supH - hubW) / 2)
-                let hubX: CGFloat = isVerticality ? ((supH - hubW) / 2) : ((supW - hubW) / 2)
-                let loadingHUB: PQLoadingHUBView = PQLoadingHUBView(frame: CGRect(x: hubX, y: hubY, width: 100, height: 100))
-                loadingHUB.tag = self!.viewTag
-                superView.addSubview(loadingHUB)
-                loadingHUB.loading()
-                self?.isLoading = true
-            }
-        }
-    }
-
-    public func dismissHUB(superView: UIView) {
-        DispatchQueue.main.async { [weak self] in
-            if let v = superView.viewWithTag(self?.viewTag ?? 999579) {
-                v.removeFromSuperview()
-                self?.isLoading = false
-            }
-        }
-    }
-
-    override private init() {
-        super.init()
-    }
-
-    override public func copy() -> Any {
-        return self
-    }
-
-    override public func mutableCopy() -> Any {
-        return self
-    }
-}

+ 1 - 1
BFFramework/Classes/Stuckpoint/Controller/PQEditMusicSearchController.swift

@@ -138,7 +138,7 @@ class PQEditMusicSearchController: PQBaseViewController {
         addChild(searchController)
         view.addSubview(searchController.view)
         
-        leftButton(image: "upload_delete", tintColor: PQBFConfig.shared.styleTitleColor)
+        leftButton(image: UIImage(named: "upload_delete"), tintColor: PQBFConfig.shared.styleTitleColor)
         
         //请求一下热门数据在没有搜索数据时显示
         PQStuckPointViewModel.stuckPointMusicPageList(tagId: 425, parentTagId: 0, pageNum: 1, videoCount: 0, imageCount: 0, totalDuration: 0) { [weak self] musicInfo, _ in

+ 0 - 5
BFFramework/Classes/Stuckpoint/Controller/PQStuckPointEditerController.swift

@@ -698,11 +698,6 @@ class PQStuckPointEditerController: PQBaseViewController {
         settingPlayerView()
     }
 
-        
-      override func viewWillAppear(_ animated: Bool) {
-
-          PQNotification.addObserver(self, selector: #selector(enterBackground), name: UIApplication.didEnterBackgroundNotification, object: nil)
-      }
     override func viewWillAppear(_ animated: Bool) {
         super.viewWillAppear(animated)
         lineView?.isHidden = true

+ 2 - 2
BFFramework/Classes/Stuckpoint/Controller/PQStuckPointMaterialController.swift

@@ -40,7 +40,7 @@ public class PQStuckPointMaterialController: PQBaseViewController {
         changeCollecBtn.setTitleColor(PQBFConfig.shared.styleTitleColor, for: .normal)
         changeCollecBtn.titleLabel?.font = UIFont.systemFont(ofSize: 18, weight: .medium)
         changeCollecBtn.tag = 1
-        changeCollecBtn.imagePosition(at: .right, space: cDefaultMargin / 2)
+        changeCollecBtn.imagePosition(at: PQButtonImageEdgeInsetsStyle.right, space: cDefaultMargin / 2)
         changeCollecBtn.addTarget(self, action: #selector(btnClick(sender:)), for: .touchUpInside)
         return changeCollecBtn
     }()
@@ -298,7 +298,7 @@ public class PQStuckPointMaterialController: PQBaseViewController {
     func albumSelectedHandle(seletedData: PHAsset?) {
         changeCollecBtn.setTitle(seletedData?.title ?? "全部", for: .normal)
         changeCollecBtn.isSelected = false
-        changeCollecBtn.imagePosition(at: .right, space: cDefaultMargin / 2)
+        changeCollecBtn.imagePosition(at: PQButtonImageEdgeInsetsStyle.right, space: cDefaultMargin / 2)
         photoMaterialVc.assetCollection = seletedData?.assetCollection
         photoMaterialVc.msgType = photoMaterialVc.msgType
 //        photoMaterialVc.msgType = .video

+ 1 - 2
BFFramework/Classes/Stuckpoint/Controller/PQStuckPointMusicController.swift

@@ -256,8 +256,7 @@ class PQStuckPointMusicController: PQBaseViewController {
         disablePopGesture().popGestureHandle = { [weak self] in
             self?.backBtnClick()
         }
-        leftButton(image: UIImage(named: "icon_detail_back"), imageName:nil, tintColor: PQBFConfig.shared.styleTitleColor)
-        leftButton(image: "icon_detail_back", tintColor: PQBFConfig.shared.styleTitleColor)
+        leftButton(image: UIImage(named: "icon_detail_back"), tintColor: PQBFConfig.shared.styleTitleColor)
         setTitle(title: "选择音乐主题", color: PQBFConfig.shared.styleTitleColor)
         view.addSubview(searchTF)
       

+ 1 - 1
BFFramework/Classes/Stuckpoint/View/PQSelecteMusicView.swift

@@ -206,7 +206,7 @@ class PQSelecteMusicView: UIView {
             make.height.equalTo(20)
             make.width.equalTo(60)
         }
-        musicSearchBtn.imagePosition(at: .left, space: 8)
+        musicSearchBtn.imagePosition(at: PQButtonImageEdgeInsetsStyle.left, space: 8)
     }
 
     /// 请求标签数据

+ 4 - 3
BFFramework/Classes/Stuckpoint/View/PQSelectedMaterialListView.swift

@@ -7,6 +7,7 @@
 //
 
 import UIKit
+import BFMaterialKit
 
 class PQSelectedMaterialListView: UIView {
     var photoData: [PQEditVisionTrackMaterialsModel] = Array<PQEditVisionTrackMaterialsModel>.init() // 相册数据
@@ -19,7 +20,7 @@ class PQSelectedMaterialListView: UIView {
         photoFlowLayout.minimumInteritemSpacing = 0
         photoFlowLayout.scrollDirection = .horizontal
         let photoCollectionView = UICollectionView(frame: bounds, collectionViewLayout: photoFlowLayout)
-        photoCollectionView.register(PQChoseMaterialCell.self, forCellWithReuseIdentifier: String(describing: PQChoseMaterialCell.self))
+        photoCollectionView.register(BFChoseMaterialCell.self, forCellWithReuseIdentifier: String(describing: BFChoseMaterialCell.self))
         photoCollectionView.showsVerticalScrollIndicator = false
         photoCollectionView.showsHorizontalScrollIndicator = false
         photoCollectionView.delegate = self
@@ -69,10 +70,10 @@ extension PQSelectedMaterialListView: UICollectionViewDelegate, UICollectionView
     }
 
     func collectionView(_ collectionView: UICollectionView, cellForItemAt indexPath: IndexPath) -> UICollectionViewCell {
-        let cell = PQChoseMaterialCell.choseMaterialCell(collectionView: collectionView, indexPath: indexPath)
+        let cell = BFChoseMaterialCell.choseMaterialCell(collectionView: collectionView, indexPath: indexPath)
         cell.isShowMediaTag = false
         cell.isAdded = true
-        cell.materialData = photoData[indexPath.item]
+        cell.materialData = photoData[indexPath.item].asset
         cell.materialClicHandle = { [weak self] _, _ in
             if self?.deletedMaterialHandle != nil {
                 self?.deletedMaterialHandle!(self?.photoData[indexPath.item], (self?.photoData.count ?? 0) <= 1)

+ 1 - 1
BFFramework/Classes/Stuckpoint/View/PQStuckPointCuttingView.swift

@@ -409,7 +409,7 @@ class PQStuckPointCuttingView: UIView {
             videoDidEndDragging!(1,startTime,startTime + CGFloat(stuckPointEndTime - stuckPointStartTime),0)
         }
         resetDefaultsColor(clearData: false)
-        PQEventTrackViewModel.baseReportUpload(businessType: .bt_buttonClick, objectType: .ot_shanyinApp_musicVideoPreview_musicPeriodSelect, pageSource: .sp_shanyinApp_main, extParams: nil, remindmsg: "")
+        PQEventTrackViewModel.baseReportUpload(businessType: .bt_buttonClick, objectType: objectType.ot_shanyinApp_musicVideoPreview_musicPeriodSelect, pageSource: PAGESOURCE.sp_shanyinApp_main, extParams: nil, remindmsg: "")
 
 
 

+ 3 - 3
BFFramework/Classes/Utils/PQCommonMethodUtil.swift

@@ -207,7 +207,7 @@ public func commonParams() -> [String: Any] {
 /// 获取网络状态
 /// - Returns: <#description#>
 public func networkStatus() -> String {
-    let status = NetworkReachabilityManager(host: "www.baidu.com")?.networkReachabilityStatus
+    let status = NetworkReachabilityManager(host: "www.baidu.com")?.status
     var statusStr: String!
 
     switch status {
@@ -215,7 +215,7 @@ public func networkStatus() -> String {
         statusStr = "NETWORK_UNKNOWN"
     case .notReachable:
         statusStr = "NETWORK_NO"
-    case .reachable(.wwan):
+    case .reachable(.cellular):
         statusStr = "4G"
     case .reachable(.ethernetOrWiFi):
         statusStr = "Wi-Fi"
@@ -228,7 +228,7 @@ public func networkStatus() -> String {
 /// 判断是否有网
 /// - Returns: <#description#>
 public func isNetConnected() -> Bool {
-    return NetworkReachabilityManager(host: "www.baidu.com")?.networkReachabilityStatus != .notReachable
+    return NetworkReachabilityManager(host: "www.baidu.com")?.status != .notReachable
 }
 
 /// 获取ip地址

+ 1 - 1
BFFramework/Classes/selectImage/PQUploadController.swift

@@ -616,7 +616,7 @@ extension PQUploadController: UICollectionViewDelegate, UICollectionViewDataSour
             allPhotos = categoryData[indexPath.item].categoryList
             catagerySelectedIndex = indexPath
             selecteBtn.setTitle(categoryData[indexPath.item].title, for: .normal)
-            selecteBtn.imagePosition(at: .right, space: cDefaultMargin / 2)
+            selecteBtn.imagePosition(at: PQButtonImageEdgeInsetsStyle.right, space: cDefaultMargin / 2)
            
             lastSeletedIndex = nil