// // ListModel.swift // dinoGo // // Created by 林 on 2020/5/29. // Copyright © 2020 Lin. All rights reserved. // import UIKit import ObjectMapper protocol ListModelType: BaseModelProtocol { associatedtype Item var list: [Item] { get set } var pagination: PaginationModel? { get set } } struct ListModel: ListModelType where Item: Mappable { var code, message: String? var status: Bool? // 当前页索引 var pageIndex = 1 // 每页大小 var pageSize = 20 // 总条数 var count = 0 // 总页数 var page_count = 0 // 数据列表 var list: [Item] = [] // 分页对象 var pagination: PaginationModel? init?(map: Map) { } mutating func mapping(map: Map) { status <- map["status"] code <- map["code"] message <- map["message"] pageIndex <- map["pageIndex"] pageSize <- map["pageSize"] count <- map["count"] page_count <- map["page_count"] list <- map["rows"] pagination = PaginationModel(pageIndex: pageIndex, pageSize: pageSize, totalNum: count, totalPage: page_count) } }