杨锴
2024-11-06 63f7ed967433acee3ae8764c7a077e15c29c41f2
XQMuse/Root/Network/ViewModels/UserViewModel.swift
@@ -8,8 +8,36 @@
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 userInfo = UserDefaultsStore<LoginUserInfoModel>(uniqueIdentifier: "UserInfoModel")!
            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
@@ -24,19 +52,37 @@
                        UserDefaults.standard.synchronize()
            }
            static func saveUserInfo(_ model:LoginUserInfoModel){
            static func saveLoginInfo(_ model:LoginUserInfoModel){
                        do{
                                    try UserViewModel.userInfo.save(model)
                                    try UserViewModel.userLoginInfo.save(model)
                        }catch{
                        }
            }
            static func getUserInfo()->LoginUserInfoModel?{
                        return UserViewModel.userInfo.allObjects().first
            static func getLoginInfo()->LoginUserInfoModel?{
                        return UserViewModel.userLoginInfo.allObjects().first
            }
            static func clearUserInfo(){
                        UserViewModel.userInfo.deleteAll()
            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()
            }
}