|
@@ -6,14 +6,122 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
-import UIKit
|
|
|
|
import BFCommonKit
|
|
import BFCommonKit
|
|
|
|
+import UIKit
|
|
|
|
+
|
|
|
|
+public protocol BFVideoItemProtocol {
|
|
|
|
+ dynamic var uniqueId: String? { get set }
|
|
|
|
+ dynamic var videoId: Int { get set }
|
|
|
|
+ dynamic var id: UInt64 { get set }
|
|
|
|
+ dynamic var eventId: String? { get set }
|
|
|
|
+ dynamic var title: String? { get set }
|
|
|
|
+ dynamic var attributedTitle: NSMutableAttributedString? { get set }
|
|
|
|
+ dynamic var summary: String? { get set }
|
|
|
|
+ dynamic var imageUrl: String { get set }
|
|
|
|
+ dynamic var selectedImage: String { get set }
|
|
|
|
+ dynamic var isSelected: Bool { get set }
|
|
|
|
+ dynamic var recommendLogVO: String? { get set }
|
|
|
|
+ dynamic var abInfoData: String? { get set }
|
|
|
|
+ dynamic var pageCategoryId: Int { get set }
|
|
|
|
+ dynamic var version: String { get set }
|
|
|
|
+ dynamic var mid: String { get set }
|
|
|
|
+ dynamic var date: Int { get set }
|
|
|
|
+ var headVideoId: String? { get set }
|
|
|
|
+ var auditStatus: Int { get set }
|
|
|
|
+ var barrageCount: Int { get set }
|
|
|
|
+ var barrageSwitch: Int { get set }
|
|
|
|
+ var auditReason: String? { get set }
|
|
|
|
+ var barrage: Any? { get set }
|
|
|
|
+ var chargeDetail: [String: Any]? { get set }
|
|
|
|
+ var commentCount: Int { get set }
|
|
|
|
+ var coverImg: [String: Any]? { get set }
|
|
|
|
+ var cutVoStr: String? { get set }
|
|
|
|
+ var descr: String? { get set }
|
|
|
|
+ var encryption: Int { get set }
|
|
|
|
+ var favorited: Bool { get set }
|
|
|
|
+ var favoriteds: Int { get set }
|
|
|
|
+ var fileExtensions: String? { get set }
|
|
|
|
+ var firstPicture: Bool { get set }
|
|
|
|
+ var gmtCreate: String? { get set }
|
|
|
|
+ var gmtCreateDescr: String? { get set }
|
|
|
|
+ var gmtCreateTimestamp: Int { get set }
|
|
|
|
+ var gmtModifie: String? { get set }
|
|
|
|
+ var gmtModifiedTimestamp: Int { get set }
|
|
|
|
+ var h5ShareImgPath: String? { get set }
|
|
|
|
+ var hasShareSpaceData: Bool { get set }
|
|
|
|
+ var isRecommendShare: Int { get set }
|
|
|
|
+ var lastTimestamp: Int { get set }
|
|
|
|
+
|
|
|
|
+ var measure: Int { get set }
|
|
|
|
+ var measureId: Int { get set }
|
|
|
|
+ var measureType: Int { get set }
|
|
|
|
+ var playBeforeDay: Int { get set }
|
|
|
|
+ var playCount: Int { get set }
|
|
|
|
+ var playCountFormatStr: String? { get set }
|
|
|
|
+ var playCountTotal: Int { get set }
|
|
|
|
+ var playTime: Int { get set }
|
|
|
|
+ var processShareHeadLab: [String: Any]? { get set }
|
|
|
|
+ var processShareTailLab: [String: Any]? { get set }
|
|
|
|
+ var pwd: String? { get set }
|
|
|
|
+ var recommendId: String? { get set }
|
|
|
|
+ var recommendSource: Int { get set }
|
|
|
|
+ var recommendStatus: Int { get set }
|
|
|
|
+ var rotate: Int { get set }
|
|
|
|
+ var sampleJobId: String? { get set }
|
|
|
|
+ var sampleRequestId: String? { get set }
|
|
|
|
+ var sampleTotalTime: Int { get set }
|
|
|
|
+ var sampleTranscodeStatus: Int { get set }
|
|
|
|
+ var sampleTransedVideoPath: String? { get set }
|
|
|
|
+ var sendBeforeDay: Int { get set }
|
|
|
|
+ var sensitiveMsg: String? { get set }
|
|
|
|
+ var sensitiveStatus: Int { get set }
|
|
|
|
+ var shareCount: Int { get set }
|
|
|
|
+ var shareId: String? { get set }
|
|
|
|
+ var shareCountFriend: Int { get set }
|
|
|
|
+ var shareImgPath: String? { get set }
|
|
|
|
+ var shareLinkType: Int { get set }
|
|
|
|
+ var sharePageType: Int { get set }
|
|
|
|
+ var shareTitle: String? { get set }
|
|
|
|
+ var showHotRecommend: Bool { get set }
|
|
|
|
+ var size: Int { get set }
|
|
|
|
+ var status: Int { get set }
|
|
|
|
+ var tabShareImgPath: String? { get set }
|
|
|
|
+ var thumbnailImagePath: String? { get set }
|
|
|
|
+ var totalTime: Int { get set }
|
|
|
|
+ var totalTimeParas: String? { get set }
|
|
|
|
+ var transcodeStatus: Int { get set }
|
|
|
|
+ var transcodeVOList: [Any]? { get set }
|
|
|
|
+ var uid: Int { get set }
|
|
|
|
+ var user: [String: Any]? { get set }
|
|
|
|
+ var videoCollectionId: Int { get set }
|
|
|
|
+ var videoCoverSnapshotPath: String? { get set }
|
|
|
|
+ var videoPath: String? { get set }
|
|
|
|
+ var videoReportMeta: String? { get set }
|
|
|
|
+ var videoShareJumpModel: [String: Any]? { get set }
|
|
|
|
+ var playProgress: Float64 { get set }
|
|
|
|
+ var duration: Float64 { get set }
|
|
|
|
+ var tab_pageType: TAB_PAGETYPE { get set }
|
|
|
|
+ var pageSource: PAGESOURCE { get set }
|
|
|
|
+ var isVerticality: Bool { get set }
|
|
|
|
+ var isShareList: Bool { get set }
|
|
|
|
+ var uplpadBucketKey: String? { get set }
|
|
|
|
+ var uplpadStatus: Int { get set }
|
|
|
|
+
|
|
|
|
+ var stsToken: [String: Any]? { get set }
|
|
|
|
+ var localPath: String? { get set }
|
|
|
|
+ var progress: Float { get set }
|
|
|
|
+ var projectId: String? { get set }
|
|
|
|
+ var autoType: autoType? { get set }
|
|
|
|
+
|
|
|
|
+ var videoFromScene: videoFromScene { get set }
|
|
|
|
+}
|
|
|
|
|
|
-open class PQVideoListModel: PQBaseModel {
|
|
+open class PQVideoListModel: PQBaseModel, BFVideoItemProtocol {
|
|
- @objc required public init() {
|
|
+ @objc public required init() {
|
|
super.init()
|
|
super.init()
|
|
}
|
|
}
|
|
|
|
|
|
|
|
+ public var id: UInt64 = 0
|
|
public var headVideoId: String?
|
|
public var headVideoId: String?
|
|
public var auditStatus: Int = 0
|
|
public var auditStatus: Int = 0
|
|
public var barrageCount: Int = 0
|
|
public var barrageCount: Int = 0
|
|
@@ -104,15 +212,15 @@ open class PQVideoListModel: PQBaseModel {
|
|
public var watchInfoH: CGFloat = 0
|
|
public var watchInfoH: CGFloat = 0
|
|
public var watchInfoY: CGFloat = 0
|
|
public var watchInfoY: CGFloat = 0
|
|
public var relationData: [PQVideoListModel]?
|
|
public var relationData: [PQVideoListModel]?
|
|
- public var playProgress: CGFloat = 0
|
|
+ public var playProgress: Float64 = 0
|
|
- public var duration: CGFloat = 0
|
|
+ public var duration: Float64 = 0
|
|
public var tab_pageType: TAB_PAGETYPE = .TAB_PAGETYPE_NORMAL
|
|
public var tab_pageType: TAB_PAGETYPE = .TAB_PAGETYPE_NORMAL
|
|
public var pageSource: PAGESOURCE = .sp_category
|
|
public var pageSource: PAGESOURCE = .sp_category
|
|
public var isVerticality: Bool = false
|
|
public var isVerticality: Bool = false
|
|
public var isShareList: Bool = false
|
|
public var isShareList: Bool = false
|
|
|
|
|
|
public var funcH: CGFloat = cDefaultMargin * 33
|
|
public var funcH: CGFloat = cDefaultMargin * 33
|
|
- public let funcW: CGFloat = cDefaultMargin * 5
|
|
+ public var funcW: CGFloat = cDefaultMargin * 5
|
|
public var uplpadImage: UIImage?
|
|
public var uplpadImage: UIImage?
|
|
public var uplpadBucketKey: String?
|
|
public var uplpadBucketKey: String?
|
|
public var uplpadStatus: Int = 0
|
|
public var uplpadStatus: Int = 0
|
|
@@ -127,12 +235,12 @@ open class PQVideoListModel: PQBaseModel {
|
|
public var autoType: autoType?
|
|
public var autoType: autoType?
|
|
|
|
|
|
public var videoFromScene: videoFromScene = .UploadNormal
|
|
public var videoFromScene: videoFromScene = .UploadNormal
|
|
-
|
|
+
|
|
|
|
|
|
- public var categoryName:String = ""
|
|
+ public var categoryName: String = ""
|
|
|
|
|
|
- public var categoryImage:String?
|
|
+ public var categoryImage: String?
|
|
-
|
|
+
|
|
override public init(jsonDict: [String: Any]) {
|
|
override public init(jsonDict: [String: Any]) {
|
|
super.init(jsonDict: jsonDict)
|
|
super.init(jsonDict: jsonDict)
|
|
|
|
|
|
@@ -272,9 +380,7 @@ open class PQVideoListModel: PQBaseModel {
|
|
itemHeight = (cScreenWidth - cDefaultMargin * 3) / 2 * originImageH / originImageW + tempTitleH + cDefaultMargin * 4.5
|
|
itemHeight = (cScreenWidth - cDefaultMargin * 3) / 2 * originImageH / originImageW + tempTitleH + cDefaultMargin * 4.5
|
|
|
|
|
|
if title != nil, (title?.count ?? 0) > 0 {
|
|
if title != nil, (title?.count ?? 0) > 0 {
|
|
-
|
|
|
|
titleH = sizeWithText(text: title ?? "", font: UIFont.systemFont(ofSize: 26, weight: .medium), size: CGSize(width: cScreenWidth - cDefaultMargin * 2, height: CGFloat.greatestFiniteMagnitude)).height + cDefaultMargin
|
|
titleH = sizeWithText(text: title ?? "", font: UIFont.systemFont(ofSize: 26, weight: .medium), size: CGSize(width: cScreenWidth - cDefaultMargin * 2, height: CGFloat.greatestFiniteMagnitude)).height + cDefaultMargin
|
|
-
|
|
|
|
}
|
|
}
|
|
if titleH > 70 {
|
|
if titleH > 70 {
|
|
titleH = 70
|
|
titleH = 70
|