| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331 |
- //
- // OnlineDataProvider.m
- // RA TradeFiling
- //
- // Created by Rui Zhang on 11/19/20.
- //
- #import "OnlineDataProvider.h"
- #import "config.h"
- #import "RAUtils.h"
- @implementation OnlineDataProvider
- + (void)request_login : (NSString*) user password:(NSString*) password completionHandler:(resultHandler)result
- {
- // long ver = 0;
- NSMutableDictionary* params = [[NSMutableDictionary alloc] init];
-
- // AppDelegate *appDelegate = (AppDelegate *)[[UIApplication sharedApplication] delegate];
- // ver = appDelegate.authVer;
- // if(appDelegate.duid !=nil)
- // [params setValue:appDelegate.duid forKey:@"udid"];
-
- [params setValue:@"login" forKey:@"action"];
- // [headers setValue:[NSString stringWithFormat:@"%d",dataLength] forKey:@"Content-Length"];
-
- [params setValue:user forKey:@"user"];
- [params setValue:password forKey:@"password"];
- // [params setValue:[NSString stringWithFormat:@"%ld",ver] forKey:@"auth_ver"];
- #ifdef TEST
- [params setValue:@"true" forKey:@"is_debug"];
- #else
- [params setValue:@"false" forKey:@"is_debug"];
- #endif
-
-
- [self request_interface:URL_LOGIN parameters:params err_record_url:nil completionHandler:result retry:0];
-
- }
- + (void)request_signup : (NSString*) user password:(NSString*) password completionHandler:(resultHandler)result
- {
- // long ver = 0;
- NSMutableDictionary* params = [[NSMutableDictionary alloc] init];
-
- // AppDelegate *appDelegate = (AppDelegate *)[[UIApplication sharedApplication] delegate];
- // ver = appDelegate.authVer;
- // if(appDelegate.duid !=nil)
- // [params setValue:appDelegate.duid forKey:@"udid"];
-
- [params setValue:@"signup" forKey:@"action"];
- // [headers setValue:[NSString stringWithFormat:@"%d",dataLength] forKey:@"Content-Length"];
-
- [params setValue:user forKey:@"user"];
- [params setValue:password forKey:@"password"];
- // [params setValue:[NSString stringWithFormat:@"%ld",ver] forKey:@"auth_ver"];
- //#ifdef TEST
- // [params setValue:@"true" forKey:@"is_debug"];
- //#else
- // [params setValue:@"false" forKey:@"is_debug"];
- //#endif
-
-
- [self request_interface:URL_SIGNUP parameters:params err_record_url:nil completionHandler:result retry:0];
-
- }
- + (void)request_changepassword:(NSString*) newpassword completionHandler:(resultHandler)result
- {
- NSMutableDictionary* params = [NSMutableDictionary new];
- params[@"newpassword"]=newpassword;
- params[@"action"]=@"changepassword";
- // params = [self prepare_addtional_params:params];
- [self request_interface:URL_CHANGE_PASS parameters:params err_record_url:nil completionHandler:result retry:0];
- }
- + (void)request_logout : (resultHandler)result
- {
- NSMutableDictionary* params = [NSMutableDictionary new];
- params[@"action"]=@"logout";
-
- // params = [self prepare_addtional_params:params];
- [self request_interface:URL_LOGOUT parameters:params err_record_url:nil completionHandler:result retry:0];
- }
- + (void)request_home :(nullable NSMutableDictionary *)params completionHandler:(resultHandler)result
- {
- // params = [self prepare_addtional_params:params];
- if(params==nil)
- params = [NSMutableDictionary new];
- params[@"action"]=@"dashboardMobile";
- [self request_interface:URL_HOME parameters:params err_record_url:nil completionHandler:result retry:0];
- }
- +(void)request_commoneditor_partialrefresh: (NSMutableDictionary*)params url:(NSString*)url completionHandler:(resultHandler)result
- {
- [self request_interface:url parameters:params err_record_url:nil completionHandler:result retry:0];
-
-
- //
- // if(appDelegate.offline_mode)
- // {
- // params[@"offline_Command"]=url;
- // return [OLDataProvider offline_commoneditor_partialrefresh:params];
- // }
- //
- // if(![self IsNetworkAvailable])
- // return [RAUtils error_json:RESULT_NET_NOTAVAILABLE err_msg:nil];
- //
- // NSData* json=[self get_json:url parameters:params];
- // if(json!=nil)
- // {
- // NSError *error=nil;
- // NSDictionary *jsobj = [NSJSONSerialization JSONObjectWithData:json options:NSJSONReadingMutableLeaves error:&error];
- // if([[jsobj valueForKey:@"result"]intValue]==2)
- // [appDelegate SetSo:nil];
- //
- //
- // return jsobj;
- // }
- // else
- // return nil;
- }
- +(void)request_save_editor:(NSMutableDictionary*)params completionHandler:(resultHandler)result
- {
- // NSMutableDictionary* params = [[NSMutableDictionary alloc] init];
-
-
-
- [self request_interface:URL_SAVE_EDITOR parameters:params err_record_url:nil completionHandler:result retry:0];
-
-
- }
- + (void)request_result:(NSMutableDictionary *)params completionHandler:(resultHandler)result
- {
-
- params[@"action"]=@"result";
- [self request_interface:URL_SEARCH_RESULT parameters:params err_record_url:nil completionHandler:result retry:0];
-
- // return [self mockResult:params];
- //
- // params[@"action"]=@"handset_search";
- //
- // [self request_interface:URL_SEARCH_RESULT parameters:params err_record_url:nil completionHandler:^(NSMutableDictionary *resultjson) {
- // NSMutableDictionary *resultDic = resultjson;
- //
- // // detail data in local database
- // NSString *module_name = [params objectForKey:@"module_name"];
- // AppDelegate *appDelegate = (AppDelegate *)[[UIApplication sharedApplication] delegate];
- // NSArray *actions = [ApexMobileDB getActionsForFunction:module_name withUser:appDelegate.user];
- // [resultDic setValue:actions forKey:@"actions"];
- // result(resultDic);
- // } retry:0];
- //
- }
- + (void)request_cadedate:(NSMutableDictionary *)params completionHandler:(resultHandler)result
- {
-
- params[@"action"]=@"cadedate";
- [self request_interface:URL_CADEDATE parameters:params err_record_url:nil completionHandler:result retry:0];
-
- // return [self mockResult:params];
- //
- // params[@"action"]=@"handset_search";
- //
- // [self request_interface:URL_SEARCH_RESULT parameters:params err_record_url:nil completionHandler:^(NSMutableDictionary *resultjson) {
- // NSMutableDictionary *resultDic = resultjson;
- //
- // // detail data in local database
- // NSString *module_name = [params objectForKey:@"module_name"];
- // AppDelegate *appDelegate = (AppDelegate *)[[UIApplication sharedApplication] delegate];
- // NSArray *actions = [ApexMobileDB getActionsForFunction:module_name withUser:appDelegate.user];
- // [resultDic setValue:actions forKey:@"actions"];
- // result(resultDic);
- // } retry:0];
- //
- }
- +(void) request_editor: (NSMutableDictionary *) params completionHandler:(resultHandler)result
- {
- [self request_interface:URL_REQUEST_DETAIL parameters:params err_record_url:nil completionHandler:result retry:0];
- // AppDelegate *appDelegate = (AppDelegate *)[[UIApplication sharedApplication] delegate];
- // [params setValue:@"handset_search" forKey:@"action"];
- //// [params setValue:appDelegate.sessionid forKey:@"sessionid"];
- //
- //
- // [self request_interface:URL_REQUEST_RECORDS parameters:params err_record_url:nil completionHandler:result retry:0];
- // return;
-
- }
- +(void) request_detail: (NSMutableDictionary *) params completionHandler:(resultHandler)result
- {
- [self request_interface:URL_REQUEST_DETAIL parameters:params err_record_url:nil completionHandler:result retry:0];
- // AppDelegate *appDelegate = (AppDelegate *)[[UIApplication sharedApplication] delegate];
- // [params setValue:@"handset_search" forKey:@"action"];
- //// [params setValue:appDelegate.sessionid forKey:@"sessionid"];
- //
- //
- // [self request_interface:URL_REQUEST_RECORDS parameters:params err_record_url:nil completionHandler:result retry:0];
- // return;
-
- }
- + (void)request_retrievepassword: (NSString*)user email:(NSString*)email completionHandler:(resultHandler)result
- {
- NSMutableDictionary* params = [NSMutableDictionary new];
- params[@"action"]=@"retrievePassword";
- params[@"user"]=user;
- params[@"email"]=email;
- [self request_interface:URL_RETRIEVE_PASS parameters:params err_record_url:nil completionHandler:result retry:0];
- }
- + (void)request_fastdownload:(nullable NSMutableDictionary *)params url:(NSString *)url completionHandler:(resultHandler)result
- {
-
- [self request_file_fast:url parameters:params completionHandler:result];
-
- }
- +(NSMutableDictionary*) prepare_additional_params:(NSMutableDictionary* ) params
- {
-
- if (params == nil) {
- params = [NSMutableDictionary dictionary];
- }
-
-
-
-
- // NSString *currentLanguageRegion = [[[NSUserDefaults standardUserDefaults] objectForKey:@"AppleLanguages"] firstObject];
- NSString *preferredLanguage = [[[NSBundle mainBundle] preferredLocalizations] firstObject];
-
- [params setValue:preferredLanguage forKey:@"language"];
-
- // AppDelegate *appDelegate = (AppDelegate*)[[UIApplication sharedApplication] delegate];
- // if(appDelegate.user!=nil && params[@"user"] == nil)
- // [params setValue:[AESCrypt AES128Encrypt:appDelegate.user key:@"Usai2010"] forKey:@"user"];
- // if(appDelegate.password!=nil&& params[@"pwd"] == nil)
- // [params setValue:[AESCrypt AES128Encrypt:appDelegate.password key:@"Usai2010"] forKey:@"pwd"];
-
-
-
- if(RASingleton.sharedInstance.user!=nil && params[@"user"] == nil)
- [params setValue:RASingleton.sharedInstance.user forKey:@"user"];
- if(RASingleton.sharedInstance.password!=nil&& params[@"password"] == nil)
- [params setValue:RASingleton.sharedInstance.password forKey:@"password"];
-
- // [params setValue:appDelegate.build forKey:@"app_ver"];
- //
- NSDictionary* infoDict =[[NSBundle mainBundle] infoDictionary];
- NSString* short_version =[infoDict objectForKey:@"CFBundleShortVersionString"];
- [params setValue:short_version forKey:@"app_ver"];
-
-
-
- #if TARGET_IPHONE_SIMULATOR//模拟器
- [params setValue:@"simulator_uuid" forKey:@"deviceid"];
- #elif TARGET_OS_IPHONE//真机
- UIDevice * dev = [UIDevice currentDevice];
- NSUUID* uuid =dev.identifierForVendor;
- [params setValue:uuid.UUIDString forKey:@"deviceid"];
- #endif
-
-
- if(RASingleton.sharedInstance.companylist.count>0 && [params[@"company"] stringValue].length==0)
- {
-
- params[@"company"]= RASingleton.sharedInstance.companylist[RASingleton.sharedInstance.companyid][@"id"];
- }
- params[@"os"]=@"iOS";
- return params;
- }
- //+ (void)request_savepanel: (NSString*)panel_setting completionHandler:(resultHandler)result
- //{
- //// NSMutableDictionary* params = [NSMutableDictionary new];
- //// params[@"function_panel"]=panel_setting;
- ////// params = [self prepare_addtional_params:params];
- //// [self request_interface:URL_SAVE_PANEL parameters:params err_record_url:nil completionHandler:result retry:0];
- //}
- //重新实现request_interface 接口,对部分返回结果预处理。
- +(void)request_interface : (NSString*) url parameters:(NSMutableDictionary *) params err_record_url:(NSString* )recorder_url completionHandler:(resultHandler)result retry:(int) retry
- {
- [super request_interface:url parameters:params err_record_url:recorder_url completionHandler:^(NSMutableDictionary *resultjson) {
-
- if([resultjson[@"result"] intValue]==RESULT_LOGIN_ON_OTHER_DEVICE)
- {
- // [RAUtils message_alert:@"User login on other device." title:@"Warrning" controller:nil];
- [[NSNotificationCenter defaultCenter] postNotificationName:RA_NOTIFICATION_KICKOUT object:resultjson[@"err_msg"]];
-
- // UIViewController* vc = [RAUtils getCurrentVC];
- // [RAUtils message_alert:@"User login on other device." title:@"Warrning" controller:vc action_handler:^(UIAlertAction * _Nonnull action) {
- // [vc.navigationController popToRootViewControllerAnimated:true];
- // [RASingleton.sharedInstance logout];
- // [[NSNotificationCenter defaultCenter] postNotificationName:RA_NOTIFICATION_LOGOUT object:nil];
- // } completion:^{
- //
- //
- // }];
- }
-
- // NSMutableDictionary *resultDic = resultjson;
- //
- // // detail data in local database
- // NSString *module_name = [params objectForKey:@"module_name"];
- // AppDelegate *appDelegate = (AppDelegate *)[[UIApplication sharedApplication] delegate];
- // NSArray *actions = [ApexMobileDB getActionsForFunction:module_name withUser:appDelegate.user];
- // [resultDic setValue:actions forKey:@"actions"];
- result(resultjson);
-
-
- }retry:retry];
- }
- @end
|