RADataProvider.m 6.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233
  1. //
  2. // RADataProvider.m
  3. // Apex And Drivers
  4. //
  5. // Created by Jack on 2018/6/1.
  6. // Copyright © 2018年 USAI. All rights reserved.
  7. //
  8. #import "RADataProvider.h"
  9. #import "NetworkUtils.h"
  10. #import "ZipArchive.h"
  11. #import "AESCrypt.h"
  12. @implementation RADataProvider
  13. +(NSMutableDictionary*) prepare_addtional_params:(NSMutableDictionary* ) params
  14. {
  15. if (params == nil) {
  16. params = [NSMutableDictionary dictionary];
  17. }
  18. // AppDelegate *appDelegate = (AppDelegate*)[[UIApplication sharedApplication] delegate];
  19. //
  20. //
  21. // if(appDelegate.user!=nil && params[@"user"] == nil)
  22. // [params setValue:appDelegate.user forKey:@"user"];
  23. // if(appDelegate.password!=nil&& params[@"pwd"] == nil)
  24. // [params setValue:appDelegate.password forKey:@"pwd"];
  25. // [params setValue:appDelegate.build forKey:@"app_ver"];
  26. NSDictionary* infoDict =[[NSBundle mainBundle] infoDictionary];
  27. NSString* short_version =[infoDict objectForKey:@"CFBundleShortVersionString"];
  28. [params setValue:short_version forKey:@"app_short_ver"];
  29. #if TARGET_IPHONE_SIMULATOR//模拟器
  30. [params setValue:@"simulator_uuid" forKey:@"deviceid"];
  31. #elif TARGET_OS_IPHONE//真机
  32. UIDevice * dev = [UIDevice currentDevice];
  33. NSUUID* uuid =dev.identifierForVendor;
  34. [params setValue:uuid.UUIDString forKey:@"deviceid"];
  35. #endif
  36. return params;
  37. }
  38. +(NSData*)get_json : (NSString*) url parameters:(NSMutableDictionary *) params file:(NSString *) file //delegate:(id < NSURLConnectionDelegate >)delegate
  39. {
  40. params = [self prepare_addtional_params:params];
  41. return [NetworkUtils get_json:url parameters:params file:file err_recorder:URL_ERR_LOG result_handler:^NSMutableDictionary *(NSMutableDictionary *jsobj) {
  42. int result=[[jsobj valueForKey:@"result"] intValue];
  43. switch (result) {
  44. case 0:
  45. [jsobj setValue:MSG_USERAUTH_ERROR forKey:@"err_msg"];
  46. break;
  47. case 1:
  48. [jsobj setValue:MSG_ERROR forKey:@"err_msg"];
  49. break;
  50. case RESULT_TRUE:
  51. [jsobj setValue:MSG_SUCCESS forKey:@"err_msg"];
  52. break;
  53. case 9:
  54. [jsobj setValue:[jsobj valueForKey:@"msg"] forKey:@"err_msg"];
  55. break;
  56. case RESULT_TIMEOUT:
  57. [jsobj setValue:MSG_TIMEOUT forKey:@"err_msg"];
  58. break;
  59. default:
  60. [jsobj setValue:MSG_ERROR forKey:@"err_msg"];
  61. break;
  62. }
  63. return jsobj;
  64. } decrypt_handler:^NSMutableDictionary *(NSMutableDictionary *jsobj) {
  65. NSString* base64str = jsobj[@"str"];
  66. NSString* decryptstr=[AESCrypt AES128Decrypt:base64str key:@"Usai2010"];
  67. jsobj=[[RAConvertor string2dict:decryptstr] mutableCopy];
  68. return jsobj;
  69. }];
  70. /*
  71. */
  72. return nil;
  73. }
  74. + (NSDictionary *)handleJsonData:(NSData *)jsonData {
  75. if (jsonData==nil)
  76. {
  77. return @{
  78. @"result" : @RESULT_NET_ERROR,
  79. @"err_msg" : MSG_NET_ERROR
  80. };
  81. }
  82. NSDictionary *json = [NSJSONSerialization JSONObjectWithData:jsonData options:NSJSONReadingMutableLeaves error:nil];
  83. return json;
  84. }
  85. + (NSDictionary *)requestLogin:(NSString *)user password:(NSString *)pwd {
  86. return @{
  87. @"result" : @(RESULT_TRUE)
  88. };
  89. NSMutableDictionary *params = [NSMutableDictionary dictionary];
  90. [params setObject:user forKey:@"user"];
  91. [params setObject:pwd forKey:@"password"];
  92. NSData* json=[self get_json:URL_HOST parameters:params file:nil];
  93. return [self handleJsonData:json];
  94. }
  95. + (int)requestRetrievePassword : (NSString*)user email:(NSString*)email
  96. {
  97. if(![NetworkUtils IsNetworkAvailable])
  98. return RESULT_NET_NOTAVAILABLE;
  99. NSMutableDictionary * params = [[NSMutableDictionary alloc] init];
  100. [params setValue:user forKey:@"user"];
  101. [params setValue:email forKey:@"email"];
  102. [params setValue:@"Retrieve Password" forKey:@"module_name"];
  103. [params setValue:@"handset_search" forKey:@"action"];
  104. NSData* json=[self get_json:URL_HOST parameters:params file:nil];
  105. if (json==nil)
  106. {
  107. DebugLog(@"json is wrong");
  108. return RESULT_NET_ERROR;
  109. }
  110. NSError *error=nil;
  111. NSDictionary *jsobj = [NSJSONSerialization JSONObjectWithData:json options:NSJSONReadingMutableLeaves error:&error];
  112. if(jsobj)
  113. {
  114. int result = [[jsobj valueForKey:@"result"] intValue];
  115. if(result!=AP_USER_AUTH)
  116. {
  117. DebugLog(@"USER NOT AUTHORIZED CODE=%d ",result);
  118. return RESULT_FALSE;
  119. }
  120. return RESULT_TRUE;
  121. }
  122. return RESULT_NET_ERROR;
  123. }
  124. + (NSDictionary *)requestOrderList {
  125. sleep(3.0);
  126. return [self loadFakeData:@"fake_order_list.json"];
  127. NSMutableDictionary *params = [NSMutableDictionary dictionary];
  128. // [params setObject:user forKey:@"user"];
  129. // [params setObject:pwd forKey:@"password"];
  130. NSData* json=[self get_json:URL_HOST parameters:params file:nil];
  131. return [self handleJsonData:json];
  132. }
  133. + (NSDictionary *)requestOrderDetail:(NSString *)orderID {
  134. sleep(3.0);
  135. return [self loadFakeData:@"fake_order_detail.json"];
  136. NSMutableDictionary *params = [NSMutableDictionary dictionary];
  137. // [params setObject:user forKey:@"user"];
  138. // [params setObject:pwd forKey:@"password"];
  139. NSData* json=[self get_json:URL_HOST parameters:params file:nil];
  140. return [self handleJsonData:json];
  141. }
  142. + (NSDictionary *)requestUpdateOrder:(NSString *)orderID driverAction:(NSInteger)action {
  143. sleep(3.0);
  144. return [self loadFakeData:@"fake_order_edit.json"];
  145. NSMutableDictionary *params = [NSMutableDictionary dictionary];
  146. // [params setObject:user forKey:@"user"];
  147. // [params setObject:pwd forKey:@"password"];
  148. NSData* json=[self get_json:URL_HOST parameters:params file:nil];
  149. return [self handleJsonData:json];
  150. }
  151. + (NSDictionary *)reportAcionToURL:(NSString *)url withParams:(NSMutableDictionary *)params {
  152. sleep(3.0);
  153. return @{@"result" : @2};
  154. NSData* json=[self get_json:url parameters:params file:nil];
  155. return [self handleJsonData:json];
  156. }
  157. + (NSDictionary *)loadFakeData:(NSString *)fileName {
  158. NSString *path = [[NSBundle mainBundle] pathForResource:fileName ofType:nil];
  159. NSData *jsonData = [NSData dataWithContentsOfFile:path];
  160. return [self handleJsonData:jsonData];
  161. }
  162. @end