|
//
// DetailModel.swift
// PaiAi
//
// Created by zhengjianfei on 16/4/8.
// Copyright © 2016年 FFIB. All rights reserved.
//
import Foundation
import ObjectMapper
public struct ZanUserModel {
public var avatar = ""
public var user_id = ""
public var nickname = ""
}
extension ZanUserModel: Mappable {
mutating public func mapping(map: Map) {
}
public init(map: Map) {
avatar <- (map["avatar"])
user_id <- map["user_id"]
nickname <- map["nickname"]
}
}
extension ZanUserModel: GroupParsable {
public static func parse(datas: [String: AnyObject]) -> [ZanUserModel] {
guard let status = datas["status"] as? Int,
let items = datas["data"] as? [String: AnyObject],
let thumbupsInfo = items["thumbups"] as? [[String: AnyObject]],
status == 200 else {
return []
}
return thumbupsInfo.compactMap { ZanUserModel(map: Map(mappingType: .fromJSON, JSON: $0)) }
}
}
struct ZanUserNetworkRequest: NetworkRequest {
typealias NetworkResponse = ZanUserModel
var path: Interfaces { get { return .thumbupList } set {} }
var parameter: [String: AnyObject]?
}
public struct CommentModel {
public var avatar = ""
public var comment = ""
public var user_id = ""
public var nickname = ""
public var create_at = Date()
public var cellHeigth: CGFloat = 0.0
}
extension CommentModel: GroupParsable {
public static func parse(datas: [String: AnyObject]) -> [CommentModel] {
guard let status = datas["status"] as? Int,
let items = datas["data"] as? [String: AnyObject],
let commentsInfo = items["comments"] as? [[String: AnyObject]],
status == 200 else {
return []
}
return commentsInfo.compactMap { CommentModel(map: Map(mappingType: .fromJSON, JSON: $0)) }
}
}
extension CommentModel: Mappable {
mutating public func mapping(map: Map) {
}
public init(map: Map) {
let dateFormatter = DateFormatter()
dateFormatter.dateFormat = "yyyy-MM-dd'T'HH:mm:ssZ"
create_at <- (map["created_at"], DateFormatterTransform(dateFormatter:dateFormatter))
avatar <- (map["avatar"])
comment <- map["comment"]
user_id <- map["user_id"]
nickname <- (map["nickname"])
comment <- map["comment"]
let text = NSString(string: comment)
// cellHeigth = text.boundingRect(with:CGSize(width: kScreenWidth - 82, height: CGFloat.greatestFiniteMagnitude), options: [.usesLineFragmentOrigin, .usesFontLeading], attributes: [NSAttributedStringKey.font: UIFont.systemFont(ofSize: 12)], context: nil).height
}
}
struct CommentNetworkRequest: NetworkRequest {
typealias NetworkResponse = CommentModel
var path: Interfaces { get { return .commentList } set {} }
var parameter: [String: AnyObject]?
}
|