| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299 |
- //
- // RASingleton.m
- // Apex And Drivers
- //
- // Created by Jack on 2018/6/6.
- // Copyright © 2018年 USAI. All rights reserved.
- //
- #import "RASingleton.h"
- static RASingleton *singleton;
- ////
- //@interface RASingleton ()
- ////
- ////@property (nonatomic,strong) NSMutableString *log;
- ////
- ////@end
- //
- @implementation RASingleton
- {
- NSString *_secretKey;
- }
- //@synthesize backgroundReportType = _backgroundReportType;
- //
- + (instancetype)sharedInstance {
-
- static dispatch_once_t tocken;
- dispatch_once(&tocken, ^{
- singleton = [[RASingleton alloc] init];
- singleton->_secretKey = @"usai";
- singleton->_savePassword = [[[NSUserDefaults standardUserDefaults] objectForKey:@"savePassword"] boolValue];
- });
- return singleton;
- }
- //
- //- (void)setSavePassword:(BOOL)savePassword {
- // _savePassword = savePassword;
- //
- // NSUserDefaults *defaults =[NSUserDefaults standardUserDefaults];
- // [defaults setObject:@(_savePassword) forKey:@"savePassword"];
- //}
- //
- //#pragma mark - User
- //
- - (NSString *)secretKey {
- return _secretKey;
- }
- //
- - (NSString *)encryptUser {
-
- if (!self.user) {
- return nil;
- }
- return [self encryptString:self.user];
- }
- //
- - (NSString *)encryptPassword {
-
- if (!self.password) {
- return nil;
- }
- return [self encryptString:self.password];
- }
- -(NSString*) getfirstName
- {
- if(self.firstName.length<1)
- return @"user";
- else
- return self.firstName;
- }
- //
- - (void)saveUserInfo {
- if (self.user && self.password) {
-
- NSUserDefaults *defaults =[NSUserDefaults standardUserDefaults];
- [defaults removeObjectForKey:@"user"];
- [defaults removeObjectForKey:@"password"];
- [defaults removeObjectForKey:@"firstName"];
-
-
- if(self.savePassword)
- {
- [defaults setValue:self.encryptUser forKey:@"user"];
- [defaults setValue:self.encryptPassword forKey:@"password"];
- // [defaults setObject:self.firstName forKey:@"firstName"];
- // [defaults setBool:TRUE forKey:@"autologin"];
- }
- [defaults synchronize];
- }
- }
- //
- //- (NSString *)savedUser {
- // NSString * user = [self decryptString:[[NSUserDefaults standardUserDefaults] stringForKey:@"user"]];
- // return user;
- //}
- //
- //- (NSString *)savedPassword {
- // NSString * password = [self decryptString:[[NSUserDefaults standardUserDefaults] stringForKey:@"password"]];
- // return password;
- //}
- //
- //- (NSString *)savedFirstName {
- // return [[NSUserDefaults standardUserDefaults] stringForKey:@"firstName"];
- //}
- //
- - (void)changePassword:(NSString *)newpassword
- {
- _password = newpassword;
- [self saveUserInfo];
- }
- - (void)login:(NSString *)user password:(NSString *)password firstName:(NSString *)firstName companyList:(NSArray*) companylist functions:(NSDictionary*)function_panel active:(bool) active
- {
- _user = user;
- _password = password;
- _companyid=-1;
- if(companylist.count>0)
- _companyid=0;
- _companylist=companylist;
-
- _firstName = firstName;
- _functionPanel = function_panel;
-
- _active = active;
- [self saveUserInfo];
- self.isLogin=true;
-
- // [self bindUserWithNotificationToken];
-
- // [self setShouldAutoLogin:YES];
- }
- //
- //- (BOOL)autoLogin {
- //
- // _user = [self savedUser];
- // _password = [self savedPassword];
- // _firstName = [self savedFirstName];
- //
- // if ([self shouldAutoLogin]) {
- // return _user.length && _password.length;
- // }
- // return NO;
- //}
- //
- //- (void)setNotificationToken:(NSString *)notificationToken {
- // _notificationToken = notificationToken;
- //
- // [self bindUserWithNotificationToken];
- //}
- //
- //- (void)bindUserWithNotificationToken {
- //
- // if (_user.length && _password.length && _notificationToken.length) {
- // dispatch_async(dispatch_get_global_queue(0, 0), ^{
- // [RADataProvider bindNotificationToken:self.notificationToken];
- // });
- // }
- //}
- //
- - (id)globalParameterForKey:(NSString *)key {
- return nil;
- }
- - (void)logout {
- _user = nil;
- _password = nil;
- _firstName = nil;
- _functionPanel=nil;
-
- _active = false;
-
- self.isLogin=false;
- // if (!self.savePassword) {
- // NSUserDefaults *defaults =[NSUserDefaults standardUserDefaults];
- // [defaults removeObjectForKey:@"user"];
- // [defaults removeObjectForKey:@"password"];
- // [defaults removeObjectForKey:@"firstName"];
- // [defaults synchronize];
- // }
- // self.requiredBackgroundLocation = NO;
- // [self setShouldAutoLogin:NO];
- }
- //
- //- (void)changePassword:(NSString *)password {
- // _password = password;
- //
- // [self saveUserInfo];
- //}
- //
- //- (BOOL)shouldAutoLogin {
- // NSUserDefaults *defaults =[NSUserDefaults standardUserDefaults];
- // return [defaults boolForKey:@"autoLogin"];
- //}
- //
- //- (void)setShouldAutoLogin:(BOOL)login {
- // NSUserDefaults *defaults =[NSUserDefaults standardUserDefaults];
- // [defaults setBool:login forKey:@"autoLogin"];
- // [defaults synchronize];
- //}
- //
- //#pragma mark - Location
- //
- //- (void)setRequiredBackgroundLocation:(BOOL)requiredLocation {
- // _requiredBackgroundLocation = requiredLocation;
- //
- //// NSUserDefaults *defaults =[NSUserDefaults standardUserDefaults];
- //// [defaults setBool:_requiredBackgroundLocation forKey:@"requiredBackgroundLocation"];
- //// [defaults synchronize];
- //
- // [self sendRequiredLocationNotification];
- //}
- //
- //- (void)loadSavedReuqiredLocation { // 启动的时候
- //
- //// NSUserDefaults *defaults =[NSUserDefaults standardUserDefaults];
- //// _requiredLocation = [[defaults objectForKey:@"requiredBackgroundLocation"] boolValue];
- //
- //// [self sendRequiredLocationNotification];
- //}
- //
- //- (void)sendRequiredLocationNotification {
- //
- // if (_requiredBackgroundLocation) {
- // [[NSNotificationCenter defaultCenter] postNotificationName:RANotificationStartBackgroundLocation object:nil];
- // } else {
- // [[NSNotificationCenter defaultCenter] postNotificationName:RANotificationStopBackgroundLocation object:nil];
- // }
- //
- //}
- //
- //#pragma mark - Utils
- //
- - (NSString *)encryptString:(NSString *)str {
- if (str == nil) {
- return nil;
- }
- return [AESCrypt encrypt:str password:self.secretKey];
- }
- //
- - (NSString *)decryptString:(NSString *)str {
- if (str == nil) {
- return nil;
- }
- return [AESCrypt decrypt:str password:self.secretKey];
- }
- //
- //#pragma mark - NetworkQueue
- //
- //- (NSOperationQueue *)networkQueue {
- // if (!_networkQueue) {
- // _networkQueue = [[NSOperationQueue alloc] init];
- // _networkQueue.maxConcurrentOperationCount = 5;
- // _networkQueue.qualityOfService = NSQualityOfServiceUtility;
- // }
- // return _networkQueue;
- //}
- //
- //#pragma mark - Backgroud Report Location Permission
- //
- //- (void)setBackgroundReportType:(RABackgroundReportType)backgroundReportType {
- // _backgroundReportType = backgroundReportType;
- //
- // NSUserDefaults *defaults =[NSUserDefaults standardUserDefaults];
- // [defaults setInteger:_backgroundReportType forKey:@"backgroundReportLocationPermissionType"];
- // [defaults synchronize];
- //}
- //
- //- (RABackgroundReportType)backgroundReportType {
- // if (_backgroundReportType == 0) {
- // NSUserDefaults *defaults =[NSUserDefaults standardUserDefaults];
- // _backgroundReportType = (RABackgroundReportType)[defaults integerForKey:@"backgroundReportLocationPermissionType"];
- // }
- // return _backgroundReportType;
- //}
- //
- //#pragma mark - Log
- //
- //- (NSMutableString *)log {
- // if (!_log) {
- // _log = [NSMutableString string];
- // }
- // return _log;
- //}
- //
- //- (void)writeLog:(NSString *)log {
- // if (log.length) {
- // [self.log appendFormat:@"\n%@",log];
- // }
- //}
- //
- //- (void)saveLogs {
- // if (self.log.length > 0) {
- // NSString *cacheDir = [NSSearchPathForDirectoriesInDomains(NSCachesDirectory, NSUserDomainMask, YES) lastObject];
- // NSString *logPath = [cacheDir stringByAppendingPathComponent:@"log"];
- //
- // [self.log writeToFile:logPath atomically:NO encoding:NSUTF8StringEncoding error:nil];
- // }
- //}
- //
- @end
|