54 lines
1.3 KiB
Swift
54 lines
1.3 KiB
Swift
//
|
|
// 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<Item>: 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)
|
|
}
|
|
}
|