UserModel.swift 5.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185
  1. //
  2. // UserModel.swift
  3. // Model file generated using JSONExport: https://github.com/Ahmed-Ali/JSONExport
  4. import Foundation
  5. import ObjectMapper
  6. class UserModel : NSObject, NSCoding, Mappable{
  7. private static let _sharedInstance = UserModel()
  8. private override init() {} // 私有化init方法
  9. class func shared() -> UserModel {
  10. return _sharedInstance
  11. }
  12. var accessToken : String?
  13. var avatarurl : String?
  14. var gender : Int?
  15. var isPassword : Int?
  16. var mobile : String?
  17. var openId : String?
  18. var token : String?
  19. var tokenTtl : Int?
  20. var uid : Int?
  21. var unionId : String?
  22. var username : String?
  23. var isFollowSuggestTopic : Int?
  24. var isNewMember : Int?
  25. var inviteUid : Int?
  26. var inviteCode : String?
  27. class func newInstance(map: Map) -> Mappable?{
  28. return UserModel()
  29. }
  30. required init?(map: Map){}
  31. func mapping(map: Map)
  32. {
  33. accessToken <- map["access_token"]
  34. avatarurl <- map["avatarurl"]
  35. gender <- map["gender"]
  36. isPassword <- map["is_password"]
  37. mobile <- map["mobile"]
  38. openId <- map["open_id"]
  39. token <- map["token"]
  40. tokenTtl <- map["token_ttl"]
  41. uid <- map["uid"]
  42. unionId <- map["union_id"]
  43. isFollowSuggestTopic <- map["is_follow_suggest_topic"]
  44. isNewMember <- map["is_new_member"]
  45. inviteUid <- map["invite_uid"]
  46. inviteCode <- map["invite_code"]
  47. username <- map["username"]
  48. }
  49. /**
  50. * NSCoding required initializer.
  51. * Fills the data from the passed decoder
  52. */
  53. @objc required init(coder aDecoder: NSCoder)
  54. {
  55. accessToken = aDecoder.decodeObject(forKey: "access_token") as? String
  56. avatarurl = aDecoder.decodeObject(forKey: "avatarurl") as? String
  57. gender = aDecoder.decodeObject(forKey: "gender") as? Int
  58. isPassword = aDecoder.decodeObject(forKey: "is_password") as? Int
  59. mobile = aDecoder.decodeObject(forKey: "mobile") as? String
  60. openId = aDecoder.decodeObject(forKey: "open_id") as? String
  61. token = aDecoder.decodeObject(forKey: "token") as? String
  62. tokenTtl = aDecoder.decodeObject(forKey: "token_ttl") as? Int
  63. uid = aDecoder.decodeObject(forKey: "uid") as? Int
  64. unionId = aDecoder.decodeObject(forKey: "union_id") as? String
  65. username = aDecoder.decodeObject(forKey: "username") as? String
  66. isFollowSuggestTopic = aDecoder.decodeObject(forKey: "is_follow_suggest_topic") as? Int
  67. isNewMember = aDecoder.decodeObject(forKey: "is_new_member") as? Int
  68. inviteUid = aDecoder.decodeObject(forKey: "invite_uid") as? Int
  69. inviteCode = aDecoder.decodeObject(forKey: "invite_code") as? String
  70. }
  71. /**
  72. * NSCoding required method.
  73. * Encodes mode properties into the decoder
  74. */
  75. @objc func encode(with aCoder: NSCoder)
  76. {
  77. if accessToken != nil{
  78. aCoder.encode(accessToken, forKey: "access_token")
  79. }
  80. if avatarurl != nil{
  81. aCoder.encode(avatarurl, forKey: "avatarurl")
  82. }
  83. if gender != nil{
  84. aCoder.encode(gender, forKey: "gender")
  85. }
  86. if isPassword != nil{
  87. aCoder.encode(isPassword, forKey: "is_password")
  88. }
  89. if mobile != nil{
  90. aCoder.encode(mobile, forKey: "mobile")
  91. }
  92. if openId != nil{
  93. aCoder.encode(openId, forKey: "open_id")
  94. }
  95. if token != nil{
  96. aCoder.encode(token, forKey: "token")
  97. }
  98. if tokenTtl != nil{
  99. aCoder.encode(tokenTtl, forKey: "token_ttl")
  100. }
  101. if uid != nil{
  102. aCoder.encode(uid, forKey: "uid")
  103. }
  104. if unionId != nil{
  105. aCoder.encode(unionId, forKey: "union_id")
  106. }
  107. if username != nil{
  108. aCoder.encode(username, forKey: "username")
  109. }
  110. if isFollowSuggestTopic != nil{
  111. aCoder.encode(isFollowSuggestTopic, forKey: "is_follow_suggest_topic")
  112. }
  113. if isNewMember != nil{
  114. aCoder.encode(isNewMember, forKey: "is_new_member")
  115. }
  116. if inviteUid != nil{
  117. aCoder.encode(isFollowSuggestTopic, forKey: "invite_uid")
  118. }
  119. if inviteCode != nil{
  120. aCoder.encode(isNewMember, forKey: "invite_code")
  121. }
  122. }
  123. /// 存储个人信息
  124. ///
  125. /// - Parameter locationModel: 定位模型
  126. func setModel(model:UserModel) -> Void {
  127. //实例对象转换成Data
  128. let modelData = NSKeyedArchiver.archivedData(withRootObject: model)
  129. //存储Data对象
  130. UserDefaults.standard.set(modelData, forKey: "UserModel")
  131. NXLLog("UserModel存储成功")
  132. }
  133. /// 获取个人信息
  134. ///
  135. /// - Returns: 定位模型
  136. func getModel() -> UserModel? {
  137. //自定义对象读取
  138. let modelData = UserDefaults.standard.data(forKey: "UserModel")
  139. var model = UserModel()
  140. if modelData != nil {
  141. model = NSKeyedUnarchiver.unarchiveObject(with: modelData!) as! UserModel
  142. NXLLog("UserModel读取成功")
  143. }
  144. return model
  145. }
  146. /// 移除个人信息
  147. func removeLoginModel() {
  148. UserDefaults.standard.removeObject(forKey: "UserModel")
  149. }
  150. /// 获取H5需要的对象
  151. func getH5UserInfo() -> Dictionary<String,Any> {
  152. //获取当前时间
  153. let userModel = getModel()
  154. var userInfoDic = Dictionary<String,Any>()
  155. userInfoDic.updateValue("userInfo", forKey: "type")
  156. userInfoDic.updateValue(userModel?.toJSON() as Any, forKey: "params")
  157. return userInfoDic
  158. }
  159. }