//
|
// UserViewModel.swift
|
// DolphinEnglishLearnStudent
|
//
|
// Created by 无故事王国 on 2024/5/30.
|
//
|
|
import Foundation
|
import UserDefaultsStore
|
import HandyJSON
|
|
struct UserInfoModel:HandyJSON,Identifiable,Codable{
|
static let idKey = \UserInfoModel.id
|
var id: Int = 0
|
var user:UserInfoUserModel?
|
var userStudy:UserInfoStudyModel?
|
|
}
|
|
struct UserInfoUserModel:HandyJSON,Codable{
|
var id = 0
|
var account: String = ""
|
var birthday: String = ""
|
var createBy: String = ""
|
var createTime: String = ""
|
var disabled: Bool = false
|
var gender: Int = 0
|
var headImg: String = ""
|
var insertTime: String = ""
|
var integral: Int = 0
|
var isVip: Int = 0
|
var name: String = ""
|
var openId: String = ""
|
var password: String = ""
|
var phone: String = ""
|
var state: Int = 0
|
var updateBy: String = ""
|
var updateTime: String = ""
|
var vipEndTime: String = ""
|
var vipPayTime: String = ""
|
}
|
|
struct UserInfoStudyModel:HandyJSON,Codable{
|
var answer: Int = 0
|
var day: Int = 0
|
var id: Int = 0
|
var induction: Int = 0
|
var listen: Int = 0
|
var look: Int = 0
|
var monthStudy: Int = 0
|
var pair: Int = 0
|
var surplus: Int = 0
|
var todayStudy: Int = 0
|
var totalStudy: Int = 0
|
var updateBy: String?
|
var updateTime: String?
|
var userId: Int = 0
|
var week: Int = 0
|
var weekStudy: Int = 0
|
}
|
|
class UserViewModel{
|
private static let userInfo = UserDefaultsStore<UserInfoModel>(uniqueIdentifier: "UserInfoModel")!
|
|
static func saveUserInfo(_ model:UserInfoModel){
|
do{
|
try UserViewModel.userInfo.save(model)
|
}catch{
|
|
}
|
}
|
|
static func getUserInfo()->UserInfoModel?{
|
return UserViewModel.userInfo.allObjects().first
|
}
|
|
static func clearUserInfo(){
|
UserViewModel.userInfo.deleteAll()
|
}
|
}
|