|
//
// UserSessionStore.swift
// PaiaiDataKit
//
// Created by ffib on 2018/12/20.
// Copyright © 2018 yb. 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 {
#warning("是否加密存储userId")
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])
}
}
|