// // KWMUserModel.m // iCemarose // // Created by 陈荣科 on 16/9/12. // Copyright © 2016年 kollway. All rights reserved. // #import "KWMUserModel.h" #import <SAMKeychain/SAMKeychain.h> @implementation KWMUserModel static KWMUserModel *_shareUser; + (instancetype)shareUser{ static dispatch_once_t predicate; dispatch_once(&predicate, ^{ _shareUser = [[self alloc] init]; NSDictionary * dict = [[NSUserDefaults standardUserDefaults] objectForKey:@"customer"]; // BUYCustomer *customer = [[BUYModelManager alloc] insertCustomerWithJSONDictionary:dict]; if (dict != nil) { _shareUser.status = 1; NSString *phoneNum = [[NSUserDefaults standardUserDefaults] objectForKey:@"PhoneNum"]; if (phoneNum != nil) { _shareUser.name = phoneNum; }else{ _shareUser.name = [dict objectForKey:@"email"]; } if ([dict objectForKey:@"email"] != nil) { _shareUser.email = [dict objectForKey:@"email"]; } _shareUser.customerJSON = dict; } }); return _shareUser; } + (instancetype)allocWithZone:(struct _NSZone *)zone{ static dispatch_once_t predicate; dispatch_once(&predicate, ^{ _shareUser = [super allocWithZone:zone]; }); return _shareUser; } + (instancetype)copyWithZone:(struct _NSZone *)zone{ static dispatch_once_t predicate; dispatch_once(&predicate, ^{ _shareUser = [super copyWithZone:zone]; }); return _shareUser; } - (void)login{ self.status = 1; [self saveUser]; } - (void)logout{ self.status = 0; [self deleteUser]; } + (void) saveAccountByCredentials:(BUYAccountCredentials *) credentials { NSString *account = nil,*password = nil; for (BUYAccountCredentialItem *item in credentials.items) { if ([item.key isEqualToString:BUYAccountEmailKey]) { account = item.value.lowercaseString; } else if ([item.key isEqualToString:BUYAccountPasswordKey]) { password = item.value; } } [SAMKeychain setPassword:password forService:@"cemarose.account" account:account]; } - (void)deleteUser{ [[NSUserDefaults standardUserDefaults] removeObjectForKey:@"KeyUser"]; [[NSUserDefaults standardUserDefaults] removeObjectForKey:@"customer"]; [[NSUserDefaults standardUserDefaults] removeObjectForKey:@"token"]; [[NSUserDefaults standardUserDefaults] removeObjectForKey:@"PhoneNum"]; NSString * path = NSHomeDirectory(); NSLog(@"path = %@",path); } - (void)saveUser{ NSDictionary *userDict = self.toDictionary; NSUserDefaults *defaults =[NSUserDefaults standardUserDefaults]; [defaults setObject:userDict forKey:@"KeyUser"]; [defaults synchronize]; NSString * path = NSHomeDirectory(); NSLog(@"path = %@",path); } @end