杨锴
2024-09-13 b1e53d01722f1705d99f5cf6ec63c8c493811405
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
//
//  UserViewModel.swift
//  XQMuse
//
//  Created by 无故事王国 on 2024/9/5.
//
 
import Foundation
import UserDefaultsStore
 
class UserDefaultSettingViewModel{
                private static let settingInfo = UserDefaultsStore<UserDefaultSettingModel>(uniqueIdentifier: "settingModel")!
 
                static func saveSetting(_ model:UserDefaultSettingModel){
                                do{
                                                try settingInfo.save(model)
                                }catch{
 
                                }
                }
 
                static func getSetting()->UserDefaultSettingModel?{
                                var model:UserDefaultSettingModel?
                                if settingInfo.allObjects().first == nil{
                                                model = UserDefaultSettingModel()
                                                saveSetting(model!)
                                }else{
                                                model = settingInfo.allObjects().first
                                }
                                return model
                }
 
                static func clearSetting(){
                                settingInfo.deleteAll()
                }
}
 
class UserViewModel{
                private static let userLoginInfo = UserDefaultsStore<LoginUserInfoModel>(uniqueIdentifier: "userLoginInfo")!
                private static let userAvatarInfo = UserDefaultsStore<UserInfoModel>(uniqueIdentifier: "userAvatarInfo")!
 
                static func getToken()->String?{
                                return UserDefaults.standard.object(forKey: "_userToken") as? String
                }
                static func saveToken(_ token:String){
                                UserDefaults.standard.set(token, forKey: "_userToken")
                                UserDefaults.standard.synchronize()
                }
 
                static func clearToken(){
                                UserDefaults.standard.set(nil, forKey: "_userToken")
                                UserDefaults.standard.synchronize()
                }
 
                static func saveLoginInfo(_ model:LoginUserInfoModel){
                                do{
                                                try UserViewModel.userLoginInfo.save(model)
                                }catch{
 
                                }
                }
 
                static func getLoginInfo()->LoginUserInfoModel?{
                                return UserViewModel.userLoginInfo.allObjects().first
                }
 
                static func clearLoginInfo(){
                                UserViewModel.userLoginInfo.deleteAll()
                }
 
 
                static func saveAvatarInfo(_ model:UserInfoModel){
                                do{
                                                try UserViewModel.userAvatarInfo.save(model)
                                }catch{
 
                                }
                }
 
                static func getAvatarInfo()->UserInfoModel{
                                let userModel = UserViewModel.userAvatarInfo.allObjects().first
                                return userModel == nil ? UserInfoModel():userModel!
                }
 
                static func clearAvatarInfo(){
                                UserViewModel.userAvatarInfo.deleteAll()
                }
}