| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138 |
- import Foundation
- import ObjectMapper
- import RxDataSources
- extension DateTransform {
- open func transformFromJSON(_ value: Any?) -> Date? {
- if let timeInt = value as? Double {
- return Date(timeIntervalSince1970: TimeInterval(timeInt) / 1000)
- }
- if let timeStr = value as? String {
- return Date(timeIntervalSince1970: TimeInterval(atof(timeStr)) / 1000)
- }
- return nil
- }
- }
- public struct PhotoItem: JSONCode {
- public var avatar = ""
- public var nickname = ""
- public var comment_num = 0
- public var thumbup_num = 0
- public var group_avatar = ""
- public var group_default_avatar = 0
- public var group_name = ""
- public var photo_thumbnail_url = ""
- public var photo_thumbnail2_url = ""
- public var photo_url = ""
- public var photo_share_url = ""
- public var thumbup = false
- public var murl = ""
- public var rurl = ""
- public var nomark = 0
- public var create_at = ""
- public var create_at_time_interval = ""
- public var user_id = ""
- public var porder: [String: String] = [:]
- public var origin_expired_stamps: Double = 0
- public var time_stamps: Date?
- public var isExpire = true
- public var sizeCache = CGSize(width: 0, height: 0)
- public var display_payment_btn = 0
- var created_at: Date?
- var photo_thumbnail2_w = 0
- var photo_thumbnail2_h = 0
- var photo_thumbnail_w = 0
- var photo_thumbnail_h = 0
- var photo_h = 0
- var photo_w = 0
- var photoFrom = 0
- var photo_id = ""
- var group_from = 0
- var group_id = ""
- init() {}
- public init(json: [String: AnyObject]) {
- self.init(map: Map(mappingType: .fromJSON, JSON: json))
- }
- public static func empty() -> PhotoItem {
- return PhotoItem()
- }
- }
- extension PhotoItem: Mappable {
- public init(map: Map) {
- mapping(map: map)
- }
- mutating public func mapping(map: Map) {
- let dateFormatter = DateFormatter()
- dateFormatter.dateFormat = "yyyy-MM-dd'T'HH:mm:ss'Z'"
- created_at <- (map["created_at"], DateFormatterTransform(dateFormatter: dateFormatter))
- avatar <- map["avatar"]
- comment_num <- map["comment_num"]
- group_avatar <- map["group_avatar"]
- group_default_avatar <- map["group_default_avatar"]
- group_from <- map["group_from"]
- group_id <- map["group_id"]
- group_name <- map["group_name"]
- nickname <- map["nickname"]
- photoFrom <- map["photoFrom"]
- photo_h <- map["photo_h"]
- photo_w <- map["photo_w"]
- photo_id <- map["photo_id"]
- photo_thumbnail2_h <- map["photo_thumbnail2_h"]
- photo_thumbnail2_url <- map["photo_thumbnail2_url"]
- photo_thumbnail2_w <- map["photo_thumbnail2_w"]
- photo_thumbnail_h <- map["photo_thumbnail_h"]
- photo_thumbnail_url <- map["photo_thumbnail_url"]
- photo_thumbnail_w <- map["photo_thumbnail_w"]
- photo_url <- map["photo_url"]
- photo_share_url <- map["photo_share_url"]
- thumbup <- map["thumbup"]
- thumbup_num <- map["thumbup_num"]
- user_id <- map["user_id"]
- porder <- map["porder"]
- display_payment_btn <- map["display_payment_btn"]
- nomark <- map["nomark"]
- rurl = porder["r_photo_url"] ?? ""
- murl = porder["m_photo_url"] ?? ""
- guard let date = created_at else { return }
- let createDateFormatter = DateFormatter()
- createDateFormatter.dateFormat = "yyyy年MM月dd日"
- create_at = createDateFormatter.string(from: date)
- create_at_time_interval = date.getTimeInfoFromDate()
- }
- }
- extension PhotoItem: IdentifiableType, Equatable {
- public typealias Identity = String
- public var identity: String { return photo_id }
- public static func == (lhs: PhotoItem, rhs: PhotoItem) -> Bool {
- return lhs.photo_id == rhs.photo_id
- }
- }
|