// // UserHelper.m // MingMen // // Created by 德玛西亚 on 2017/8/18. // Copyright © 2017年 德玛西亚. All rights reserved. // #import "UserHelper.h" #import "NewInterfaceReplacement.h" #import "JPushHelper.h" @implementation UserHelper #pragma mark - 判断是否登录 + (BOOL)isLogin { if ([UserEntity sharedInstance].account && [UserEntity sharedInstance].account.length > 0) { return YES; }else{ return NO; } } #pragma mark - 退出登录 + (void)exitLogin { //清除用户信息 [self removeUserInfoFromLocation]; } #pragma mark - 缓存用户信息到本地 + (void)cacheUserInfoFromLocation { NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults]; [defaults setValue:[UserEntity sharedInstance].account forKey:NewAccountNumber]; [defaults setValue:[UserEntity sharedInstance].accountPassword forKey:NewAccountPassword]; [defaults setValue:[UserEntity sharedInstance].token forKey:NewToken]; [defaults setValue:[UserEntity sharedInstance].type forKey:NewType]; [defaults setValue:[UserEntity sharedInstance].ID forKey:NewID]; // [defaults setValue:[UserEntity sharedInstance].HXusername forKey:NewHXUsername]; // [defaults setValue:[UserEntity sharedInstance].HXpassword forKey:NewHXPassword]; [defaults setValue:[UserEntity sharedInstance].headPortraitUrl forKey:NewHXheadUrl]; [defaults setValue:[UserEntity sharedInstance].name forKey:NewUsername]; [defaults synchronize]; NSLog(@"%@",@"数据缓存成功"); } #pragma mark - 回写用户信息到用户信息单利类 + (void)writeUserInfoFromLocation { NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults]; [defaults setValue:[UserEntity sharedInstance].account forKey:NewAccountNumber]; [defaults setValue:[UserEntity sharedInstance].accountPassword forKey:NewAccountPassword]; [defaults setValue:[UserEntity sharedInstance].token forKey:NewToken]; [defaults setValue:[UserEntity sharedInstance].type forKey:NewType]; [defaults setValue:[UserEntity sharedInstance].ID forKey:NewID]; [defaults setValue:[UserEntity sharedInstance].HXusername forKey:NewHXUsername]; [defaults setValue:[UserEntity sharedInstance].HXpassword forKey:NewHXPassword]; [defaults setValue:[UserEntity sharedInstance].headPortraitUrl forKey:NewHXheadUrl]; [defaults setValue:[UserEntity sharedInstance].name forKey:NewUsername]; NSLog(@"%@",@"数据回写成功"); } #pragma mark - 移除单利用户信息以及本地用户信息 + (void)removeUserInfoFromLocation { [UserEntity sharedInstance].account = @""; [UserEntity sharedInstance].accountPassword = @""; [UserEntity sharedInstance].token = @""; [UserEntity sharedInstance].type = @""; [UserEntity sharedInstance].ID = @""; [UserEntity sharedInstance].HXusername = @""; [UserEntity sharedInstance].HXpassword = @""; [UserEntity sharedInstance].headPortraitUrl = @""; [[NSUserDefaults standardUserDefaults] removeObjectForKey:NewAccountNumber]; [[NSUserDefaults standardUserDefaults] removeObjectForKey:NewAccountPassword]; [[NSUserDefaults standardUserDefaults] removeObjectForKey:NewToken]; [[NSUserDefaults standardUserDefaults] removeObjectForKey:NewType]; [[NSUserDefaults standardUserDefaults] removeObjectForKey:NewID]; [[NSUserDefaults standardUserDefaults] removeObjectForKey:NewHXUsername]; [[NSUserDefaults standardUserDefaults] removeObjectForKey:NewHXPassword]; [[NSUserDefaults standardUserDefaults] removeObjectForKey:NewHXheadUrl]; NSLog(@"%@",@"数据清除成功"); } #pragma mark - App启动的时候 调用 自动登录获取用户信息 接口 + (void)automaticLogon { NSString *account = [NewUtils userDefaultsStringKey:NewAccountNumber]; NSString *password = [NewUtils userDefaultsStringKey:NewAccountPassword]; if (account.length==0 || password.length==0) { // //跳转登录界面 NewLoginViewController *startVc = [[NewLoginViewController alloc] init]; UINavigationController* navi = [[UINavigationController alloc] initWithRootViewController:startVc]; [AppDelegate shareDelegate].window.rootViewController = navi; [[NewInterfaceReplacement sharedInstance] replacementLogin]; return; } NSString *type = [NewUtils userDefaultsStringKey:NewType]; NSMutableDictionary *parameters = NewMutableDictionaryInit; [parameters safeSetObject:account forKey:@"mobile"];//账号 [parameters safeSetObject:password forKey:@"password"];//账号 if ([type isEqualToString:@"个人用户"]) { [parameters safeSetObject:@"0" forKey:@"type"];//类别 个人or企业 }else if ([type isEqualToString:@"企业用户"]){ [parameters safeSetObject:@"1" forKey:@"type"];//类别 个人or企业 } NSLog(@"%@",parameters); [NetworkRequestManager requestPostWithInterfacePrefix:JT_signin parameters:parameters onSuccess:^(id requestData) { NSLog(@"服务器返回数据 :%@",requestData); if ([requestData[@"error"] count] !=0) { [[NewInterfaceReplacement sharedInstance] replacementLogin]; }else{ NSLog(@"%@",requestData); //用户的单利数据更新 [UserEntity sharedInstance].account = account; [UserEntity sharedInstance].accountPassword = password; [UserEntity sharedInstance].token = requestData[@"token"]; NSString *str = [NSString stringWithFormat:@"%@",requestData[@"data"][@"type"]]; if ([str isEqualToString:@"0"]) { [UserEntity sharedInstance].type = @"个人用户"; }else{ [UserEntity sharedInstance].type = @"企业用户"; } [UserEntity sharedInstance].name = requestData[@"data"][@"identifyName"]; if([requestData[@"data"][@"headPortraitUrl"] isEqual:[NSNull null]]) { [UserEntity sharedInstance].headPortraitUrl = @""; }else{ [UserEntity sharedInstance].headPortraitUrl = requestData[@"data"][@"headPortraitUrl"]; } [UserEntity sharedInstance].ID = requestData[@"data"][@"id"]; // [UserEntity sharedInstance].HXusername = requestData[@"data"][@"easemobName"]; // [UserEntity sharedInstance].HXpassword = requestData[@"data"][@"easemobPass"]; //缓存用户信息到本地 [UserHelper cacheUserInfoFromLocation]; //绑定登录的账号作为推送对象 // [[JPushHelper sharedInstance] addAlias]; //跳转程序控制器 [[NewInterfaceReplacement sharedInstance] replacementController]; NSLog(@"自动登录成功"); [JPUSHService registrationIDCompletionHandler:^(int resCode, NSString *registrationID) { if(resCode == 0){ NSLog(@"registrationID获取成功:%@",registrationID); [self synBindingAccount:registrationID]; } else{ NSLog(@"registrationID获取失败,code:%d",resCode); } }]; } } onFailure:^{ NSLog(@"自动登录失败"); //[[AppDelegate shareDelegate] forceLogoutLogin]; // [[NewInterfaceReplacement sharedInstance] replacementLogin]; }]; } #pragma mark ------绑定极光推送账号-------- + (void)synBindingAccount:(NSString *)registrationID{ NSMutableDictionary *dic = [[NSMutableDictionary alloc] init]; [dic safeSetObject:NewUDID forKey:@"uuid"]; [dic safeSetObject:registrationID forKey:@"registrationId"]; [NetworkRequestManager requestPostWithInterfacePrefix:JT_synBindingAccount parameters:dic onSuccess:^(id requestData) { NSLog(@"服务器返回数据 :%@",requestData); if ([requestData[@"error"] count] !=0) { for (NSDictionary *dic in requestData[@"error"]) { NSLog(@"%@",dic[@"message"]); } }else{ NSLog(@"绑定极光账号成功"); } } onFailure:^{ }]; } @end