CNLiveMineBaseModel.swift
11.7 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
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
//
// 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//ID号
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 = ""//下滑h5
var upPath: String = ""//上滑h5
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, isAutoIncrement: 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
var code: String?
var cardImg: String?
var authTime: Int = 0
var userStatus: Int = 0
var upPath: String?
var downPath: String?
}
class MineStandInfoModel: BaseModel {
var authInfoId: Int = 0
var sort: Int = 0
var name: String?//卡片标签
var inputType: Int = 0//1文本输入 2数字输入 3下拉选择 4后台生成时间 5后台生成编码 6头像类型
var nonEmpty: Bool = false
var length: Int = 10
var children = [MineStandInfoModel]()
var userInfo: String? = ""//卡片标签的对应值
var input: Bool = false
var show: Bool = false
var value: String? = ""//自己定义的值
}
// !!!: 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, isAutoIncrement: true)
}
case identityId //不修改数据库字段名,和属性名保持一直
case name //不修改数据库字段名,和属性名保持一直
case icon
case cardImg
case authTime
case code
case userStatus
}
}
// !!!: /Api/Index3/myOrderCount 数据返回
class MinePointCheckInModel: BaseModel {
var pay_order_count: String? = ""//待支付 数量
var send_order_count: String? = ""//待发货 数量
var confirm_order_count: Int = 0 //待收货 数量
var cart_count: String? = "" //购物车数量 数量
var money: String? = ""//补贴余额
var coupon_count: String? = ""//优惠券数量
var integral: String? = ""//积分数量
}
// !!!: /Daren/integral/getTasks.action任务列表界面数据
class MineTaskCheckListModel: BaseModel {
var icon: String? = ""
var score: String? = ""
var status: String? = ""
var taskId: String? = ""
var taskType: String? = ""
var times: Int = 0
var title: String? = ""
var totalCount: String? = ""
var url: String? = ""
}
// !!!: /Daren/transaction/getTransactionRecord.action 余额交易记录
class MineTradingRecordModel: BaseModel {
var disburseRecord: String? = ""//支出
var incomeRecord: String? = "" //收入
var fromId: String? = ""
var payType: String? = ""
var recordId: String? = ""
var sourceId: String? = ""
var sourceType: String? = ""
var sum: String? = ""
var time: String? = ""
/// wjj_balance_transfer 转账标识
/// wjj_balance_transfer_refund 退款标识
/// wjj_balance_transfer_collection 确认收款标识
/// wjj_balance_transfer_overdue_refund 转账过期
var finalType: String? = ""
var iconBean = MineTradingRecordUserModel()
var fromType: String? = "" //1:收入 2:支出 0:全部
var toType: String? = "" // 0全部(默认) 1收入 2支出
var defray: String? = "" //总支出
var income: String? = "" //总收入
}
class MineTradingRecordUserModel: BaseModel {
var image: String? = ""
var nickName: String? = ""
var userId: String? = ""
}
// !!!: /Daren/integral/myIntegralRecord.action 积分明细列表
class MineIntegralRecordModel: BaseModel {
var obtainIntegral: Int = 0
var hasNext: Bool = false
var payIntegral: Int = 0
var integralList = [MineIntegralRecordDescModel]()
}
class MineIntegralRecordDescModel: BaseModel {
var exchangeTime: String? = ""
var state: String? = ""
var integral: String? = ""
var integralDesc: String? = ""
}