|
@@ -0,0 +1,113 @@
|
|
|
|
+//
|
|
|
|
+// BFBaseModel.swift
|
|
|
|
+// PQSpeed
|
|
|
|
+//
|
|
|
|
+// Created by SanW on 2020/5/25.
|
|
|
|
+// Copyright © 2020 BytesFlow. All rights reserved.
|
|
|
|
+//
|
|
|
|
+
|
|
|
|
+import UIKit
|
|
|
|
+import RealmSwift
|
|
|
|
+
|
|
|
|
+open class BFBaseModel: Object {
|
|
|
|
+ @objc dynamic public var uniqueId: String? // 唯一ID
|
|
|
|
+ @objc dynamic public var videoId: Int = 0 // 视频ID
|
|
|
|
+ @objc dynamic public var eventId: String? // 事件ID
|
|
|
|
+ @objc dynamic public var title: String? // 标题
|
|
|
|
+ @objc dynamic public var attributedTitle: NSMutableAttributedString? // 富文本标题
|
|
|
|
+ @objc dynamic public var summary: String? // 描述
|
|
|
|
+ @objc dynamic public var imageUrl: String = "" // 图片地址
|
|
|
|
+ @objc dynamic public var selectedImage: String = "" // 图片地址
|
|
|
|
+ @objc dynamic public var isSelected: Bool = false
|
|
|
|
+ @objc dynamic public var recommendLogVO: String? // 推荐日志对象
|
|
|
|
+ @objc dynamic public var abInfoData: String? // AB
|
|
|
|
+ @objc dynamic public var pageCategoryId: Int = 0 // 页面分类ID
|
|
|
|
+ @objc dynamic public var version: String = versionName // 版本号
|
|
|
|
+ @objc dynamic public var mid = getMachineCode() // 设备ID
|
|
|
|
+ @objc dynamic public var date: Int = 0 // 当前时间戳 CGFloat(Date.init().timeIntervalSince1970) * 1000
|
|
|
|
+ @objc dynamic public var itemWidth: Float = 0 // cell宽
|
|
|
|
+ @objc dynamic public var primaryKeys: String? // 区分存储唯一值
|
|
|
|
+ override class public func primaryKey() -> String? {
|
|
|
|
+ return "uniqueId"
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ public override required init() {
|
|
|
|
+ super.init()
|
|
|
|
+ uniqueId = getUniqueId(desc: "uniqueId")
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ override class open func ignoredProperties() -> [String] {
|
|
|
|
+ return ["attributedTitle"]
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ @objc func toString() -> String {
|
|
|
|
+ var json: [String: Any] = [
|
|
|
|
+ "version": version,
|
|
|
|
+ "mid": mid,
|
|
|
|
+ "pageCategoryId": pageCategoryId,
|
|
|
|
+ "selectedImage": selectedImage,
|
|
|
|
+ "isSelected": isSelected,
|
|
|
|
+ "imageUrl": imageUrl,
|
|
|
|
+ ]
|
|
|
|
+ if uniqueId != nil {
|
|
|
|
+ json["uniqueId"] = uniqueId
|
|
|
|
+ json["videoId"] = videoId
|
|
|
|
+ }
|
|
|
|
+ if eventId != nil {
|
|
|
|
+ json["eventId"] = eventId
|
|
|
|
+ }
|
|
|
|
+ if title != nil {
|
|
|
|
+ json["title"] = title
|
|
|
|
+ }
|
|
|
|
+ if summary != nil {
|
|
|
|
+ json["summary"] = summary
|
|
|
|
+ }
|
|
|
|
+ if recommendLogVO != nil {
|
|
|
|
+ json["recommendLogVO"] = recommendLogVO
|
|
|
|
+ }
|
|
|
|
+ return dictionaryToJsonString(json) ?? ""
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ public init(jsonDict: [String: Any]) {
|
|
|
|
+ super.init()
|
|
|
|
+ if jsonDict.keys.contains("id") {
|
|
|
|
+ uniqueId = "\(jsonDict["id"] ?? "")"
|
|
|
|
+ videoId = Int(uniqueId ?? "0") ?? 0
|
|
|
|
+ }
|
|
|
|
+ if jsonDict.keys.contains("uniqueId") {
|
|
|
|
+ uniqueId = "\(jsonDict["uniqueId"] ?? "")"
|
|
|
|
+ videoId = Int(uniqueId ?? "0") ?? 0
|
|
|
|
+ }
|
|
|
|
+ if jsonDict.keys.contains("eventId") {
|
|
|
|
+ eventId = "\(jsonDict["eventId"] ?? "")"
|
|
|
|
+ }
|
|
|
|
+ if jsonDict.keys.contains("title") {
|
|
|
|
+ title = "\(jsonDict["title"] ?? "")"
|
|
|
|
+ }
|
|
|
|
+ if jsonDict.keys.contains("summary") {
|
|
|
|
+ summary = "\(jsonDict["summary"] ?? "")"
|
|
|
|
+ }
|
|
|
|
+ if jsonDict.keys.contains("imageUrl") {
|
|
|
|
+ imageUrl = "\(jsonDict["imageUrl"] ?? "")"
|
|
|
|
+ }
|
|
|
|
+ if jsonDict.keys.contains("selectedImage") {
|
|
|
|
+ selectedImage = "\(jsonDict["selectedImage"] ?? "")"
|
|
|
|
+ }
|
|
|
|
+ if jsonDict.keys.contains("isSelected") {
|
|
|
|
+ isSelected = jsonDict["isSelected"] as! Bool
|
|
|
|
+ }
|
|
|
|
+ if jsonDict.keys.contains("recommendLogVO") {
|
|
|
|
+ recommendLogVO = "\(jsonDict["recommendLogVO"] ?? "")"
|
|
|
|
+ }
|
|
|
|
+ if jsonDict.keys.contains("pageCategoryId") {
|
|
|
|
+ pageCategoryId = Int("\(jsonDict["pageCategoryId"] ?? "0")") ?? 0
|
|
|
|
+ }
|
|
|
|
+ if jsonDict.keys.contains("version") {
|
|
|
|
+ version = "\(jsonDict["version"] ?? "")"
|
|
|
|
+ }
|
|
|
|
+ if jsonDict.keys.contains("mid") {
|
|
|
|
+ mid = "\(jsonDict["mid"] ?? "")"
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+}
|
|
|
|
+
|