// // 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") } }