CNLiveMineBaseModel.swift
17.8 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
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
//
// CNLiveMineBaseModel.swift
// metaCode
//
// Created by open on 2023/6/20.
//
import Foundation
import HandyJSON
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 = ""
var gift = false//是否忽必烈礼物
/**
/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 id: Int = 0//ID号- 9:电商,其他非电商
var description: String = ""//首页身份说明描述-
var backgroundImg: String = ""//首页背景图-
var downGuideImg: String = ""//底部引导图GiF url-
var tipsColour: String = ""//-企业,机构 提醒文本颜色
var backgroundColour: String = ""//-
var backgroundColor: String = kCNDownSlideBackgroundColorHex//企业认证按钮背景色&&认证背景颜色
var upGuideImg: String = ""//顶部引导图GiF url-
var descBackgroundImg: String = ""//首页文字背景图
var createTime: Int = 0//注册时间-
var upType: Int = 0//下滑类型1:h5 2:原生页面 3店铺详情 4 店铺控制台
var upPath: String = ""//顶部h5 或原生页面pageId
var downPath: String = ""//底部h5url 或原生页面pageId-
var downType: Int = 0//上滑类型1:h5 2:原生页面 3店铺详情 4 店铺控制台
var name: String?//名称-
var status:Int = 0//
var sort:Int = 0//
var industryIds:String = ""
var industries: String = ""//
//行业认证model
var authenticationsModel = [MineAuthenticationsChildModel]()
var userAuth:Bool = false//是否有 数字认证
// var icon: String?//小圆图标-
// var enable: Bool = false//没用-
var atPersonageColour: String = kCNDownSlideBackgroundColorHex//个人认证按钮背景色-
// var cardImg: String = ""//卡片背景图-
// var cardBackgroundImg: String = ""//首页卡片背景图
// var userAuth: Bool = true//是否显示个人认证
// var enterpriseAuth: Bool = false//是否显示企业认证
// var agencyAuth: Bool = false//是否显示机构认证
// var auth: Bool = false//身份是否验证
var createTimeString: String = ""//-
var timeString: String = ""
////自定义属性
//电商身份专用
var shopInfoModel: MineApplyShopInfoModel?
//身份详情model
var standInfoBaseModel:MineStandInfoBaseModel?
// 重载 == 运算符
static func == (lhs: StandListModel, rhs: StandListModel) -> Bool {
if lhs.id == rhs.id &&
lhs.name == rhs.name &&
lhs.createTime == rhs.createTime &&
lhs.backgroundImg == rhs.backgroundImg &&
lhs.upGuideImg == rhs.upGuideImg &&
lhs.downGuideImg == rhs.downGuideImg &&
lhs.backgroundColor == rhs.backgroundColor
{//剩下不写了 ,只判断id都可以
return true
}
else
{
return false
}
}
// 重载 != 运算符
static func != (lhs: StandListModel, rhs: StandListModel) -> Bool {
return !(lhs == rhs)
}
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 icon
// case enable
// case createTime
// case createTimeString
// case timeString
// case auth
// case backgroundImg
// case backgroundColor
// case backgroundColour
// case description
// case cardImg
// case downPath
// case descBackgroundImg
// case upPath
// case downType
// }
}
// !!!: /api/contentApi/authentications 接口标记
class MineAuthenticationsChildModel: BaseModel {
var industryId: Int = 0
var name: String = ""
var child = [MineAuthenticationsChildModel]()//二级/一级
var identities = [MineAuthenticationsChildIdentitiesModel]()//三级
}
class MineAuthenticationsChildIdentitiesModel: BaseModel {
var id: String = ""
var industryId: Int = 0
var name: String = ""
var icon: String = ""
var createTime: Int = 0
var auth: Bool = false//是否需要实名认证
var status: Int = 0
var sort: Int = 0
var type: Int = 0
var userAuth: Int = -1//是否已认证 null为进行认证操作 0正在审核 1审核成功 -1审核失败 null与-1前端可做同一状态处理
}
// !!!: /api/identityApi/getUserMsg 接口标记 身份信息
class MineGetUserMsgUsersModel: BaseModel {
var id: Int = 0
var nick: String = ""
var icon: String = ""
var phone: String = ""
var createTime:String = ""
var verifySid:String = ""
var verifyUsers = [MineGetUserMsgVerifyUsersModel]()
}
//实名认证用户model
class MineGetUserMsgVerifyUsersModel: BaseModel {
var vsid: String = ""
var name: String = ""
var idNo: String = ""
var createTime: String = ""
}
// !!!: /api/identityApi/getIdentity 接口标记
class MineStandInfoBaseModel: BaseModel {
var authInfos = [MineStandInfoModel]()//个人认证
var icon: String = ""
var name: String = ""
var identityId: Int = 0
var authTime: Int = 0
var userStatus: Int = 0
// var code: String = ""
// var cardImg: String = ""
// var upPath: String = ""
// var downPath: String = ""
// var enterpriseAuthInfos = [MineStandInfoModel]()//企业认证
// var agencyAuthInfos = [MineStandInfoModel]()//机构认证
}
class MineStandInfoModel: BaseModel {
var authInfoId: Int = 0
var sort: Int = 0
var name: String?//卡片标签
var sub_title: String?//报名项说明
var inputType: Int = 0//1 文本输入 2数字输入 3下拉选择 4认证时间 5认证编码 6正图 7小竖图 8大横图 9单选 10多选 11选项 12时间选择器 13主标题 16大文本框 17弹窗
var subTitle: String?//17时弹窗 inputType =17 弹窗; subTitle 返回json image、jumpType 、jumpPath ;jumpType 沿用身份里的类型 ‘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? = ""//自己定义的值
}
class MineStandInfoSubTitleModel: BaseModel {
var image: String? = ""//弹窗图片
var jumpType: Int = 0//弹窗点击跳转类型
var jumpPath: 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//0审核中 1审核成功
//预览简历-关联认证时 判断 0未关联 1已关联 -1不可选中
var selectStatus: Int = 0//0未关联 1已关联 -1不可选中
// 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? = ""
/**1 为第一次签到显示签到弹框,其他不显示*/
var status: String? = ""
var taskId: String? = ""
var taskType: String? = ""
var times: Int = 0
var title: String? = ""
var totalCount: String? = ""
var url: String? = ""
/**最外面的参数 表示是不是进行过签到**/
var checkInStatus: Bool? = false
}
// !!!: /Daren/transaction/getTransactionRecord.action 余额交易记录
class MineTradingRecordBaseModel: BaseModel {
var defray: String? = ""
var lasePage: Bool = false
var income: String? = ""
var list = [MineTradingRecordModel]()
}
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? = ""
}
// !!!: /api/v1/applyShopInfo 积分明细列表
class MineApplyShopInfoModel: BaseModel {
var state: String = "0"//状态 0 未申请 1 开店 2 申请中 3 已拒绝 4 闭店 0没有下列参数 1如果没有下列参数则为店员身份
var identity_stop_time: String? = ""//结束时间
var registered_address: String? = "" //注册地址
var commercial_name: String? = ""//统一社会信用代码
var certificates_name: String? = "" //持证人姓名
var management_stop_time: String? = ""//营业执照 结束时间戳
var category: String? = ""//经营类目id
var addtime: String? = ""//申请时间
var service_phone: String? = "" //服务电话
var store_logo: String? = ""//申请时的店铺logo地址
var identity_start_time: String? = ""//开始时间
var certificates_code: String? = ""//法人身份证号
var id: String? = ""
var desc: String? = ""//拒绝理由 state 等于 3 时显示
var identification_card1_img: String? = ""//身份证正面图片地址
var aptitude_images: String? = ""//特殊资质图片地址
var business_licence_img: String? = "" //营业执照照片地址
var management_start_time: String? = ""//营业执照 开始时间戳
var credit_code: String? = ""//统一社会信用代码
var store_name: String? = ""//申请时的店铺名称
var identification_card2_img: String? = ""//身份证反面图片地址
}