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