UserHelper.m 8.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194
  1. //
  2. // UserHelper.m
  3. // MingMen
  4. //
  5. // Created by 德玛西亚 on 2017/8/18.
  6. // Copyright © 2017年 德玛西亚. All rights reserved.
  7. //
  8. #import "UserHelper.h"
  9. #import "NewInterfaceReplacement.h"
  10. #import "JPushHelper.h"
  11. @implementation UserHelper
  12. #pragma mark - 判断是否登录
  13. + (BOOL)isLogin
  14. {
  15. if ([UserEntity sharedInstance].account && [UserEntity sharedInstance].account.length > 0) {
  16. return YES;
  17. }else{
  18. return NO;
  19. }
  20. }
  21. #pragma mark - 退出登录
  22. + (void)exitLogin
  23. {
  24. //清除用户信息
  25. [self removeUserInfoFromLocation];
  26. }
  27. #pragma mark - 缓存用户信息到本地
  28. + (void)cacheUserInfoFromLocation
  29. {
  30. NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults];
  31. [defaults setValue:[UserEntity sharedInstance].account forKey:NewAccountNumber];
  32. [defaults setValue:[UserEntity sharedInstance].accountPassword forKey:NewAccountPassword];
  33. [defaults setValue:[UserEntity sharedInstance].token forKey:NewToken];
  34. [defaults setValue:[UserEntity sharedInstance].type forKey:NewType];
  35. [defaults setValue:[UserEntity sharedInstance].ID forKey:NewID];
  36. // [defaults setValue:[UserEntity sharedInstance].HXusername forKey:NewHXUsername];
  37. // [defaults setValue:[UserEntity sharedInstance].HXpassword forKey:NewHXPassword];
  38. [defaults setValue:[UserEntity sharedInstance].headPortraitUrl forKey:NewHXheadUrl];
  39. [defaults setValue:[UserEntity sharedInstance].name forKey:NewUsername];
  40. [defaults synchronize];
  41. NSLog(@"%@",@"数据缓存成功");
  42. }
  43. #pragma mark - 回写用户信息到用户信息单利类
  44. + (void)writeUserInfoFromLocation
  45. {
  46. NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults];
  47. [defaults setValue:[UserEntity sharedInstance].account forKey:NewAccountNumber];
  48. [defaults setValue:[UserEntity sharedInstance].accountPassword forKey:NewAccountPassword];
  49. [defaults setValue:[UserEntity sharedInstance].token forKey:NewToken];
  50. [defaults setValue:[UserEntity sharedInstance].type forKey:NewType];
  51. [defaults setValue:[UserEntity sharedInstance].ID forKey:NewID];
  52. [defaults setValue:[UserEntity sharedInstance].HXusername forKey:NewHXUsername];
  53. [defaults setValue:[UserEntity sharedInstance].HXpassword forKey:NewHXPassword];
  54. [defaults setValue:[UserEntity sharedInstance].headPortraitUrl forKey:NewHXheadUrl];
  55. [defaults setValue:[UserEntity sharedInstance].name forKey:NewUsername];
  56. NSLog(@"%@",@"数据回写成功");
  57. }
  58. #pragma mark - 移除单利用户信息以及本地用户信息
  59. + (void)removeUserInfoFromLocation
  60. {
  61. [UserEntity sharedInstance].account = @"";
  62. [UserEntity sharedInstance].accountPassword = @"";
  63. [UserEntity sharedInstance].token = @"";
  64. [UserEntity sharedInstance].type = @"";
  65. [UserEntity sharedInstance].ID = @"";
  66. [UserEntity sharedInstance].HXusername = @"";
  67. [UserEntity sharedInstance].HXpassword = @"";
  68. [UserEntity sharedInstance].headPortraitUrl = @"";
  69. [[NSUserDefaults standardUserDefaults] removeObjectForKey:NewAccountNumber];
  70. [[NSUserDefaults standardUserDefaults] removeObjectForKey:NewAccountPassword];
  71. [[NSUserDefaults standardUserDefaults] removeObjectForKey:NewToken];
  72. [[NSUserDefaults standardUserDefaults] removeObjectForKey:NewType];
  73. [[NSUserDefaults standardUserDefaults] removeObjectForKey:NewID];
  74. [[NSUserDefaults standardUserDefaults] removeObjectForKey:NewHXUsername];
  75. [[NSUserDefaults standardUserDefaults] removeObjectForKey:NewHXPassword];
  76. [[NSUserDefaults standardUserDefaults] removeObjectForKey:NewHXheadUrl];
  77. NSLog(@"%@",@"数据清除成功");
  78. }
  79. #pragma mark - App启动的时候 调用 自动登录获取用户信息 接口
  80. + (void)automaticLogon
  81. {
  82. NSString *account = [NewUtils userDefaultsStringKey:NewAccountNumber];
  83. NSString *password = [NewUtils userDefaultsStringKey:NewAccountPassword];
  84. if (account.length==0 || password.length==0) {
  85. // //跳转登录界面
  86. NewLoginViewController *startVc = [[NewLoginViewController alloc] init];
  87. UINavigationController* navi = [[UINavigationController alloc] initWithRootViewController:startVc];
  88. [AppDelegate shareDelegate].window.rootViewController = navi;
  89. [[NewInterfaceReplacement sharedInstance] replacementLogin];
  90. return;
  91. }
  92. NSString *type = [NewUtils userDefaultsStringKey:NewType];
  93. NSMutableDictionary *parameters = NewMutableDictionaryInit;
  94. [parameters safeSetObject:account forKey:@"mobile"];//账号
  95. [parameters safeSetObject:password forKey:@"password"];//账号
  96. if ([type isEqualToString:@"个人用户"]) {
  97. [parameters safeSetObject:@"0" forKey:@"type"];//类别 个人or企业
  98. }else if ([type isEqualToString:@"企业用户"]){
  99. [parameters safeSetObject:@"1" forKey:@"type"];//类别 个人or企业
  100. }
  101. NSLog(@"%@",parameters);
  102. [NetworkRequestManager requestPostWithInterfacePrefix:JT_signin parameters:parameters onSuccess:^(id requestData) {
  103. NSLog(@"服务器返回数据 :%@",requestData);
  104. if ([requestData[@"error"] count] !=0) {
  105. [[NewInterfaceReplacement sharedInstance] replacementLogin];
  106. }else{
  107. NSLog(@"%@",requestData);
  108. //用户的单利数据更新
  109. [UserEntity sharedInstance].account = account;
  110. [UserEntity sharedInstance].accountPassword = password;
  111. [UserEntity sharedInstance].token = requestData[@"token"];
  112. NSString *str = [NSString stringWithFormat:@"%@",requestData[@"data"][@"type"]];
  113. if ([str isEqualToString:@"0"]) {
  114. [UserEntity sharedInstance].type = @"个人用户";
  115. }else{
  116. [UserEntity sharedInstance].type = @"企业用户";
  117. }
  118. [UserEntity sharedInstance].name = requestData[@"data"][@"identifyName"];
  119. if([requestData[@"data"][@"headPortraitUrl"] isEqual:[NSNull null]]) {
  120. [UserEntity sharedInstance].headPortraitUrl = @"";
  121. }else{
  122. [UserEntity sharedInstance].headPortraitUrl = requestData[@"data"][@"headPortraitUrl"];
  123. }
  124. [UserEntity sharedInstance].ID = requestData[@"data"][@"id"];
  125. // [UserEntity sharedInstance].HXusername = requestData[@"data"][@"easemobName"];
  126. // [UserEntity sharedInstance].HXpassword = requestData[@"data"][@"easemobPass"];
  127. //缓存用户信息到本地
  128. [UserHelper cacheUserInfoFromLocation];
  129. //绑定登录的账号作为推送对象
  130. // [[JPushHelper sharedInstance] addAlias];
  131. //跳转程序控制器
  132. [[NewInterfaceReplacement sharedInstance] replacementController];
  133. NSLog(@"自动登录成功");
  134. [JPUSHService registrationIDCompletionHandler:^(int resCode, NSString *registrationID) {
  135. if(resCode == 0){
  136. NSLog(@"registrationID获取成功:%@",registrationID);
  137. [self synBindingAccount:registrationID];
  138. }
  139. else{
  140. NSLog(@"registrationID获取失败,code:%d",resCode);
  141. }
  142. }];
  143. }
  144. } onFailure:^{
  145. NSLog(@"自动登录失败");
  146. //[[AppDelegate shareDelegate] forceLogoutLogin];
  147. // [[NewInterfaceReplacement sharedInstance] replacementLogin];
  148. }];
  149. }
  150. #pragma mark ------绑定极光推送账号--------
  151. + (void)synBindingAccount:(NSString *)registrationID{
  152. NSMutableDictionary *dic = [[NSMutableDictionary alloc] init];
  153. [dic safeSetObject:NewUDID forKey:@"uuid"];
  154. [dic safeSetObject:registrationID forKey:@"registrationId"];
  155. [NetworkRequestManager requestPostWithInterfacePrefix:JT_synBindingAccount parameters:dic onSuccess:^(id requestData) {
  156. NSLog(@"服务器返回数据 :%@",requestData);
  157. if ([requestData[@"error"] count] !=0) {
  158. for (NSDictionary *dic in requestData[@"error"]) {
  159. NSLog(@"%@",dic[@"message"]);
  160. }
  161. }else{
  162. NSLog(@"绑定极光账号成功");
  163. }
  164. } onFailure:^{
  165. }];
  166. }
  167. @end