无故事王国
2023-10-25 158f3707711ad4be78a55dc73a98aa1c9acda0dd
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
    //
    //  UserViewModel.swift
    //  BrokerDriver
    //
    //  Created by 无故事王国 on 2023/4/26.
    //
 
import Foundation
import HandyJSON
 
final class UserViewModel{
    static let UserLoginSuccess_Noti = Notification.Name.init("UserLoginSuccess")
 
 
    static func getUserInfo()->UserInfoModel?{
        if let modelStr = UserDefaults.standard.object(forKey: "_UserInfoModel") as? String,let model = UserInfoModel.deserialize(from: modelStr){
            return model
        }
        return nil
    }
 
    static func saveUserInfo(_ user:UserInfoModel){
        if let string = user.toJSONString(){
            UserDefaults.standard.set(string, forKey: "_UserInfoModel")
            UserDefaults.standard.synchronize()
        }
    }
 
    static func clearUserInfo(){
        UserDefaults.standard.set(nil, forKey: "_UserInfoModel")
        UserDefaults.standard.synchronize()
    }
 
 
    static func publishLoginSuccess(){
        NotificationCenter.default.post(name: UserViewModel.UserLoginSuccess_Noti, object: nil)
    }
}