|
@@ -0,0 +1,286 @@
|
|
|
+//
|
|
|
+// UserModel.swift
|
|
|
+// JSJP_Student_sw
|
|
|
+//
|
|
|
+// Created by Ning.ge on 2023/6/5.
|
|
|
+//
|
|
|
+
|
|
|
+import ObjectMapper
|
|
|
+import SwiftyUserDefaults
|
|
|
+
|
|
|
+// 用户登录的渠道
|
|
|
+enum UserLoginChannelType : Int{
|
|
|
+ case Default = -1 /// 未登录
|
|
|
+ case Phone = 0 /// 手机号登录
|
|
|
+ case QQ /// qq登录
|
|
|
+ case Email /// 邮箱登录
|
|
|
+ case ChatID /// 微信号登录
|
|
|
+ case AutoLogin /// 自动登录
|
|
|
+}
|
|
|
+
|
|
|
+struct ParamsItem :ImmutableMappable{
|
|
|
+
|
|
|
+ var ID:String = ""
|
|
|
+ var VALUE:String = ""
|
|
|
+ var REMARK:String = ""
|
|
|
+ var KEY:String = ""
|
|
|
+ var NAME:String = ""
|
|
|
+
|
|
|
+ init(map: Map) throws {
|
|
|
+ ID = try map.value("ID")
|
|
|
+ VALUE = try map.value("VALUE")
|
|
|
+ REMARK = try map.value("REMARK")
|
|
|
+ KEY = try map.value("KEY")
|
|
|
+ NAME = try map.value("NAME")
|
|
|
+ }
|
|
|
+}
|
|
|
+
|
|
|
+
|
|
|
+struct SchInfo :ImmutableMappable{
|
|
|
+
|
|
|
+ var address:String = ""
|
|
|
+ var bussinessLicenseNum:String = ""
|
|
|
+ var cityName:String = ""
|
|
|
+ var contactor:String = ""
|
|
|
+ var count:String = ""
|
|
|
+ var countryId:String = ""
|
|
|
+ var countryName:String = ""
|
|
|
+ var desc:String = ""
|
|
|
+ var distance:String = ""
|
|
|
+ var experienceRange:String = ""
|
|
|
+ var headimg:String = ""
|
|
|
+ var _id:String = ""
|
|
|
+ var jxbh:String = ""
|
|
|
+ var key:String = ""
|
|
|
+ var latitude:String = ""
|
|
|
+ var legalRepresentative:String = ""
|
|
|
+ var legalTel:String = ""
|
|
|
+ var licenseDeadline:String = ""
|
|
|
+ var licenseNum:String = ""
|
|
|
+ var longitude:String = ""
|
|
|
+ var macId:String = ""
|
|
|
+ var name:String = ""
|
|
|
+ var price:String = ""
|
|
|
+ var provinceId:String = ""
|
|
|
+ var provinceName:String = ""
|
|
|
+ var regDate:String = ""
|
|
|
+ var route:String = ""
|
|
|
+ var score:String = ""
|
|
|
+ var serviceStar:String = ""
|
|
|
+ var shortName:String = ""
|
|
|
+ var siteStar:String = ""
|
|
|
+ var star:String = ""
|
|
|
+ var telePhone:String = ""
|
|
|
+ var tollStar:String = ""
|
|
|
+ var trainLevel:String = ""
|
|
|
+ var unit:String = ""
|
|
|
+ var vip:String = ""
|
|
|
+ var watch:String = ""
|
|
|
+
|
|
|
+ init(map: Map) throws {
|
|
|
+ address = try map.value("address")
|
|
|
+ bussinessLicenseNum = try map.value("bussinessLicenseNum")
|
|
|
+ cityName = try map.value("cityName")
|
|
|
+ contactor = try map.value("contactor")
|
|
|
+ count = try map.value("count")
|
|
|
+ countryId = try map.value("countryId")
|
|
|
+ countryName = try map.value("countryName")
|
|
|
+ desc = try map.value("desc")
|
|
|
+ distance = try map.value("distance")
|
|
|
+ experienceRange = try map.value("experienceRange")
|
|
|
+ headimg = try map.value("headimg")
|
|
|
+ _id = try map.value("_id")
|
|
|
+ jxbh = try map.value("jxbh")
|
|
|
+ key = try map.value("key")
|
|
|
+ latitude = try map.value("latitude")
|
|
|
+ legalRepresentative = try map.value("legalRepresentative")
|
|
|
+ legalTel = try map.value("legalTel")
|
|
|
+ licenseDeadline = try map.value("licenseDeadline")
|
|
|
+ licenseNum = try map.value("licenseNum")
|
|
|
+ longitude = try map.value("longitude")
|
|
|
+ macId = try map.value("macId")
|
|
|
+ name = try map.value("name")
|
|
|
+ price = try map.value("price")
|
|
|
+ provinceId = try map.value("provinceId")
|
|
|
+ provinceName = try map.value("provinceName")
|
|
|
+ regDate = try map.value("regDate")
|
|
|
+ route = try map.value("count")
|
|
|
+ score = try map.value("count")
|
|
|
+ serviceStar = try map.value("count")
|
|
|
+ shortName = try map.value("count")
|
|
|
+ siteStar = try map.value("count")
|
|
|
+ star = try map.value("count")
|
|
|
+ telePhone = try map.value("count")
|
|
|
+ tollStar = try map.value("count")
|
|
|
+ trainLevel = try map.value("count")
|
|
|
+ unit = try map.value("count")
|
|
|
+ vip = try map.value("count")
|
|
|
+ watch = try map.value("count")
|
|
|
+
|
|
|
+
|
|
|
+ }
|
|
|
+}
|
|
|
+
|
|
|
+
|
|
|
+struct UserInfo :ImmutableMappable{
|
|
|
+ /// 登录渠道
|
|
|
+ var channel:UserLoginChannelType?
|
|
|
+
|
|
|
+ var address:String = ""
|
|
|
+ var appType:String = ""
|
|
|
+ var birthday:String = ""
|
|
|
+ var carType:String = ""
|
|
|
+ var city:String = ""
|
|
|
+ var cityName:String = ""
|
|
|
+ var country:String = ""
|
|
|
+ var countryName:String = ""
|
|
|
+ var crDate:String = ""
|
|
|
+ var eduStatus:String = ""
|
|
|
+ var email:String = ""
|
|
|
+ var expireTime:String = ""
|
|
|
+ var _id:String = ""
|
|
|
+ var imei:String = ""
|
|
|
+ var isycbd:String = ""
|
|
|
+ var loginCode:String = ""
|
|
|
+ var mnStatus:String = ""
|
|
|
+ var mnqFaceCount:String = ""
|
|
|
+ var mnqFacePorcess:String = ""
|
|
|
+ var mnqThreeOpen:String = ""
|
|
|
+ var mnqTwoOpen:String = ""
|
|
|
+ var nickName:String = ""
|
|
|
+ var outId:String = ""
|
|
|
+ var params:[ParamsItem]?
|
|
|
+ var payPwd:String = ""
|
|
|
+ var photo:String = ""
|
|
|
+ var pxjd:String = ""
|
|
|
+ var pxkm:String = ""
|
|
|
+ var qzgx:String = ""
|
|
|
+ var schInfo:SchInfo?
|
|
|
+ var school:String = ""
|
|
|
+ var schoolName:String = ""
|
|
|
+ var sex:String = ""
|
|
|
+ var sfzb:String = ""
|
|
|
+ var status:String = ""
|
|
|
+ var stuDevNum:String = ""
|
|
|
+ var stuNum:String = ""
|
|
|
+ var systemVersion:String = ""
|
|
|
+ var telphone:String = ""
|
|
|
+ var userName:String = ""
|
|
|
+ var verifyLevel:String = ""
|
|
|
+ var version:String = ""
|
|
|
+ var ycbdFaceCount:String = ""
|
|
|
+ var busitype:String = ""
|
|
|
+ var isOpenScan:String = ""
|
|
|
+ var qzVideo:String = ""
|
|
|
+ var sjjlbh:String = ""
|
|
|
+ var a_c:String = ""
|
|
|
+
|
|
|
+
|
|
|
+ var isLogin: Bool {
|
|
|
+ set {
|
|
|
+ Defaults.isLogin = newValue
|
|
|
+ }
|
|
|
+ get {
|
|
|
+ return Defaults.isLogin
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ var openTimes: Int {
|
|
|
+ set {
|
|
|
+ Defaults.openTimes = newValue
|
|
|
+ }
|
|
|
+ get {
|
|
|
+ return Defaults.openTimes
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ var avater: UIImage? {
|
|
|
+ set {
|
|
|
+ if newValue != nil {
|
|
|
+ Defaults.avater = newValue!.pngData() ?? Data()
|
|
|
+ }
|
|
|
+ }
|
|
|
+ get {
|
|
|
+ return UIImage(data: Defaults.avater)
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+
|
|
|
+ var userAccount:String? {
|
|
|
+ set {
|
|
|
+ if newValue != nil{
|
|
|
+ Defaults.userAccount = newValue! ?? ""
|
|
|
+ }
|
|
|
+ }
|
|
|
+ get {
|
|
|
+ return Defaults.userAccount
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ var password:String? {
|
|
|
+ set {
|
|
|
+ if newValue != nil{
|
|
|
+ Defaults.userPassword = newValue! ?? ""
|
|
|
+ }
|
|
|
+ }
|
|
|
+ get {
|
|
|
+ return Defaults.userPassword
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ init(){}
|
|
|
+ init(map: Map) throws {
|
|
|
+
|
|
|
+
|
|
|
+ channel = try map.value("channel")
|
|
|
+ address = try map.value("address")
|
|
|
+ appType = try map.value("appType")
|
|
|
+ birthday = try map.value("birthday")
|
|
|
+ carType = try map.value("carType")
|
|
|
+ city = try map.value("city")
|
|
|
+ cityName = try map.value("cityName")
|
|
|
+ country = try map.value("country")
|
|
|
+ countryName = try map.value("countryName")
|
|
|
+ crDate = try map.value("crDate")
|
|
|
+ eduStatus = try map.value("eduStatus")
|
|
|
+ email = try map.value("email")
|
|
|
+ expireTime = try map.value("expireTime")
|
|
|
+ _id = try map.value("_id")
|
|
|
+ imei = try map.value("imei")
|
|
|
+ isycbd = try map.value("isycbd")
|
|
|
+ loginCode = try map.value("loginCode")
|
|
|
+ mnStatus = try map.value("mnStatus")
|
|
|
+ mnqFaceCount = try map.value("mnqFaceCount")
|
|
|
+ mnqFacePorcess = try map.value("mnqFacePorcess")
|
|
|
+ mnqThreeOpen = try map.value("mnqThreeOpen")
|
|
|
+ mnqTwoOpen = try map.value("mnqTwoOpen")
|
|
|
+ nickName = try map.value("nickName")
|
|
|
+ outId = try map.value("outId")
|
|
|
+ params = try map.value("params")
|
|
|
+ payPwd = try map.value("payPwd")
|
|
|
+ photo = try map.value("photo")
|
|
|
+ pxjd = try map.value("pxjd")
|
|
|
+ pxkm = try map.value("pxkm")
|
|
|
+ qzgx = try map.value("qzgx")
|
|
|
+ schInfo = try map.value("schInfo")
|
|
|
+ school = try map.value("school")
|
|
|
+ schoolName = try map.value("schoolName")
|
|
|
+ sex = try map.value("sex")
|
|
|
+ sfzb = try map.value("sfzb")
|
|
|
+ status = try map.value("status")
|
|
|
+ stuDevNum = try map.value("stuDevNum")
|
|
|
+ stuNum = try map.value("stuNum")
|
|
|
+ systemVersion = try map.value("systemVersion")
|
|
|
+ telphone = try map.value("telphone")
|
|
|
+ userName = try map.value("userName")
|
|
|
+ verifyLevel = try map.value("verifyLevel")
|
|
|
+ version = try map.value("version")
|
|
|
+ ycbdFaceCount = try map.value("ycbdFaceCount")
|
|
|
+ busitype = try map.value("busitype")
|
|
|
+ isOpenScan = try map.value("isOpenScan")
|
|
|
+ qzVideo = try map.value("qzVideo")
|
|
|
+ sjjlbh = try map.value("sjjlbh")
|
|
|
+ a_c = try map.value("a_c")
|
|
|
+
|
|
|
+ }
|
|
|
+}
|