// // UserSessionStore.swift // PaiaiDataKit // // Created by FFIB on 2018/12/20. // Copyright © 2018 FFIB. All rights reserved. // import Foundation fileprivate extension UserDefaults { struct Account: BoolUserDefaultable, DictionaryUserDefaultable { enum DictionaryDefaultKey: String { case userInfo } enum BoolDefaultKey: String { case isLogin case isAudit } } } final class UserInfoStore { func save(_ userInfo: UserInfo) { UserDefaults.Account.set(true, forKey: .isLogin) UserDefaults.Account.set(userInfo.toJSON(), forKey: .userInfo) } func delete() { UserDefaults.Account.set([:], forKey: .userInfo) UserDefaults.Account.set(false, forKey: .isLogin) } func load() -> UserInfo { let json = UserDefaults.Account.dictionary(forKey: .userInfo) return UserInfo(json: json as [String: AnyObject]) } }