CNLiveConfigUserInfo.swift
3.25 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
//
// CNLiveConfigUserInfo.swift
// metaCode
//
// Created by open on 2023/6/6.
//
import Foundation
import UIKit
import HandyJSON
class UserInfoModel: BaseModel {
required init() {}
var appId:String = ""
var appleUid:String = ""
var bigFaceUrl:String = ""
var birthday:String = ""
var countryCode:String = ""
var email:String = ""
var extInfo:String = ""
var faceUrl:String = ""
var frmId:String = ""
var gender:String = ""
var hUid:String = ""
var isNewUser:String = ""
var location:String = ""
var mobile:String = ""
var newAccount:String = ""
var nickName:String = ""
var platformId:String = ""
var qqUid:String = ""
var renrenUid:String = ""
var sinaUid:String = ""
var token:String = ""
var uid:String = ""
var wxUid:String = ""
var access_token:String = ""
var expires_in:String = ""//过期时间
override func mapping(mapper: HelpingMapper) {
mapper <<<
self.gender <-- TransformOf(fromJSON: { (rawString) -> String? in
if let _str = rawString {
if _str == "m" || _str == "男" {
return "男"
}
if _str == "f" || _str == "女" {
return "女"
}
}
return "未知"
}, toJSON: { (srcString) -> String? in
return srcString
})
}
}
class UserInfoManager: NSObject {
static let shared = UserInfoManager()
fileprivate var _userInfo : UserInfoModel?
private(set) var userInfo: UserInfoModel {
set {
_userInfo = newValue
}
get {
if _userInfo != nil && (_userInfo?.uid.count)! > 0 {
return _userInfo!
}
return UserInfoManager.readUserInfo()
}
}
private override init() {}
/// 缓存用户数据
/// - Parameter userInfo: 用户数据 存储字符串
static public func cacheUserInfo(userInfo: UserInfoModel) {
UserInfoManager.clearUserInfo()
UserInfoManager.shared._userInfo = userInfo
//JsonUtil.modelToJson(userInfo)
UserDefaults.standard.set(userInfo.toJSONString(), forKey: "mateCode_userInfo")
if UserDefaults.standard.synchronize() {
print("用户信息存储成功")
}
}
/// 读取用户数据
/// - Returns: 用户数据
static public func readUserInfo() -> UserInfoModel {
let user_info = UserDefaults.standard.object(forKey: "mateCode_userInfo")
if user_info == nil && (user_info as! String).count == 0 {
print("获取用户信息失败")
return UserInfoModel()
}
let userInfo = jsonToModel(user_info as! String, UserInfoModel.self) as! UserInfoModel
UserInfoManager.shared._userInfo = userInfo
return userInfo
}
static public func clearUserInfo() {
UserDefaults.standard.removeObject(forKey: "mateCode_userInfo")
UserInfoManager.shared._userInfo = nil
if UserDefaults.standard.synchronize() {
print("用户信息删除成功")
}
}
}