CNLiveMineBaseModel.swift
8.98 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
//
// CNLiveMineBaseModel.swift
// metaCode
//
// Created by open on 2023/6/20.
//
import Foundation
import HandyJSON
import WCDBSwift
class UpdateInfoModel: BaseModel {
required init() {}
var id:String = ""
var appId:String = ""
var appType:String = ""
var version:String = ""
var versionCode:String = ""
var isForce:Bool = false//是不是强制更新
var apkUrl:String = ""
var upgradePoint:String = ""
var status:String = ""
var createTime:String = ""
/**
/api/identityApi/list
接口的数据 id createTime为公共参数
*/
var name:String = ""
var icon:String = ""
var enable:String = ""
}
class NewsModel: BaseModel {
required init() {}
var prePage: Int = 0
var pageSize: Int = 0
var startRow: Int = 0
var navigateLastPage: Int = 0
var firstPage: Int = 0
var nextPage: Int = 0
var size: Int = 0
var endRow: Int = 0
var isLastPage: Bool = false
var hasNextPage: Bool = false
var navigateFirstPage: Int = 0
var lastPage: Int = 0
var total: Int = 0
var list = [NewsListModel]()
var navigatepageNums = [Int]()
var isFirstPage: Bool = false
var hasPreviousPage: Bool = false
var navigatePages: Int = 0
var pageNum: Int = 0
var pages: Int = 0
}
class NewsListModel: BaseModel {
var content: String = ""
var status: Int = 0
var id: Int = 0
var poster: String = ""
var title: String = ""
var sid: String = ""
var createTime: Int = 0
var createTimeString: String = ""
var timeString: String = ""
var subTitle: String = ""
var read: Bool = false
var textHeight: CGFloat {
get {
let paraph = NSMutableParagraphStyle()
paraph.lineSpacing = 10
let attributes = [NSAttributedString.Key.font:Font_16_Fit,
NSAttributedString.Key.paragraphStyle: paraph]
let h = content.boundingRect(with: CGSize(width: KSreenWidth - 110, height: CGFloat(MAXFLOAT)), options: .usesLineFragmentOrigin, attributes: attributes, context: nil).size.height
return h
}
}
override func mapping(mapper: HelpingMapper) {
mapper <<<
self.createTime <-- TransformOf(fromJSON: { [weak self] (raw) -> Int in
if (raw ?? 0)! > 0 {
let date = NSDate(timeIntervalSince1970: TimeInterval((raw!)/1000))
let dateFormatter = DateFormatter()
dateFormatter.locale = Locale.init(identifier: "zh_CN")
dateFormatter.dateFormat = "MM-dd"
self?.createTimeString = dateFormatter.string(from: date as Date)
let dateFormatter_time = DateFormatter()
dateFormatter_time.locale = Locale.init(identifier: "zh_CN")
dateFormatter_time.dateFormat = "yyyy年MM月dd日 HH:mm"
self?.timeString = dateFormatter_time.string(from: date as Date)
}
return raw!
}, toJSON: { (tuple) -> Int? in
return tuple
})
// mapper <<<
// self.content <-- TransformOf(fromJSON: { result -> String in
// return result! + "金正恩和老兵有说有笑,欣赏着精彩绝伦的烟花表演,一起憧憬朝鲜走向繁荣富强。金正恩最后面向全体朝鲜老兵进行90度的鞠躬,再次对他们表达深深的尊重和感激。他没有忘记为国家立下汗马功劳的朝鲜老兵,更没有忘记老一辈。"
// }, toJSON: { result -> String? in
// return result
// })
}
}
// !!!: /api/identityApi/allList 接口数据
class StandListBaseModel: BaseModel {
var prePage: Int = 0
var pageSize: Int = 0
var startRow: Int = 0
var navigateLastPage: Int = 0
var firstPage: Int = 0
var nextPage: Int = 0
var size: Int = 0
var endRow: Int = 0
var isLastPage: Bool = false
var hasNextPage: Bool = false
var navigateFirstPage: Int = 0
var lastPage: Int = 0
var total: Int = 0
var list = [StandListModel]()
var navigatepageNums = [Int]()
var isFirstPage: Bool = false
var hasPreviousPage: Bool = false
var navigatePages: Int = 0
var pageNum: Int = 0
var pages: Int = 0
}
final class StandListModel: BaseModel, TableCodable {
var icon: String?
var name: String?
var enable: Bool = false
var id: Int = 0
var createTime: Int = 0
var createTimeString: String = ""
var timeString: String = ""
var auth: Bool = false
var backgroundImg: String = ""
var backgroundColor: String = ""
var backgroundColour: String = ""
var description: String = ""
var cardImg: String = ""
var downPath: String = ""
override func mapping(mapper: HelpingMapper) {
mapper <<<
self.createTime <-- TransformOf(fromJSON: { [weak self] (raw) -> Int in
if (raw ?? 0)! > 0 {
let date = NSDate(timeIntervalSince1970: TimeInterval((raw!)/1000))
let dateFormatter = DateFormatter()
dateFormatter.locale = Locale.init(identifier: "zh_CN")
dateFormatter.dateFormat = "MM-dd"
self?.createTimeString = dateFormatter.string(from: date as Date)
let dateFormatter_time = DateFormatter()
dateFormatter_time.locale = Locale.init(identifier: "zh_CN")
dateFormatter_time.dateFormat = "yyyy年MM月dd日 HH:mm"
self?.timeString = dateFormatter_time.string(from: date as Date)
}
return raw!
}, toJSON: { (tuple) -> Int? in
return tuple
})
mapper <<<
self.backgroundColour <-- TransformOf(fromJSON: { [weak self] (raw) -> String in
self?.backgroundColor = raw!
return raw!
}, toJSON: { (tuple) -> String? in
return tuple
})
}
enum CodingKeys: String, CodingTableKey {
typealias Root = StandListModel
static let objectRelationalMapping = TableBinding(CodingKeys.self){
//设置表的主键key为id,用来区分数据唯一性, 如果id为int类型,可以按实现按顺序递增
BindColumnConstraint(id, isPrimary: true)
}
case id //不修改数据库字段名,和属性名保持一直
case name //不修改数据库字段名,和属性名保持一直
case enable
case createTime
case createTimeString
case timeString
case auth
case backgroundImg
case backgroundColor
case backgroundColour
case description
case cardImg
case downPath
}
}
// !!!: /api/identityApi/getIdentity 接口标记
class MineStandInfoBaseModel: BaseModel {
var authInfos = [MineStandInfoModel]()
var icon: String?
var name: String?
var identityId: Int = 0
}
class MineStandInfoModel: BaseModel {
var authInfoId: Int = 0
var name: String?
var inputType: Int = 0//1文本输入 2数字输入 3下拉选择 4后台生成时间 5后台生成编码 6头像类型
var sort: Int = 0
var nonEmpty: Bool = false
var input: Bool = false
var show: Bool = false
var value: String? = ""//自己定义的值
var children = [MineStandInfoModel]()
}
// !!!: api/identityApi/myList 数据返回
class MineAuthListBaseModel: BaseModel {
required init() {}
var prePage: Int = 0
var pageSize: Int = 0
var startRow: Int = 0
var navigateLastPage: Int = 0
var firstPage: Int = 0
var nextPage: Int = 0
var size: Int = 0
var endRow: Int = 0
var isLastPage: Bool = false
var hasNextPage: Bool = false
var navigateFirstPage: Int = 0
var lastPage: Int = 0
var total: Int = 0
var list = [MineAuthListModel]()
var navigatepageNums = [Int]()
var isFirstPage: Bool = false
var hasPreviousPage: Bool = false
var navigatePages: Int = 0
var pageNum: Int = 0
var pages: Int = 0
}
final class MineAuthListModel: BaseModel , TableCodable {
required init() {}
var cardImg: String? = ""
var name: String? = ""
var icon: String? = ""
var authTime: Int = 0
var code: String? = ""
var identityId: Int = 0
var userStatus: Int = 0
enum CodingKeys: String, CodingTableKey {
typealias Root = MineAuthListModel
static let objectRelationalMapping = TableBinding(CodingKeys.self){
//设置表的主键key为id,用来区分数据唯一性, 如果id为int类型,可以按实现按顺序递增
BindColumnConstraint(identityId, isPrimary: true)
}
case identityId //不修改数据库字段名,和属性名保持一直
case name //不修改数据库字段名,和属性名保持一直
case icon
case cardImg
case authTime
case code
case userStatus
}
}