//
|
// 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")!
|
|
//用户UUID
|
static var DeviceUUID:String{
|
if let uuid = UserDefaults.standard.value(forKey: "device_UUID") as? String{
|
return uuid
|
}else{
|
let uuid = UUID().uuidString
|
UserDefaults.standard.set(uuid, forKey: "device_UUID")
|
UserDefaults.standard.synchronize()
|
return uuid
|
}
|
}
|
|
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()
|
}
|
}
|