|
//
// 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])
}
}
|