No Description

PhotoItem.swift 4.3KB

    // // PhotoItem.swift // PaiaiDataKit // // Created by FFIB on 2017/10/9. // Copyright © 2017年 FFIB. All rights reserved. // 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 } }