| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000100110021003100410051006100710081009101010111012101310141015101610171018101910201021102210231024102510261027102810291030103110321033103410351036103710381039104010411042104310441045104610471048104910501051105210531054105510561057105810591060106110621063106410651066106710681069107010711072 |
- //
- // RADataProvider.m
- // Apex And Drivers
- //
- // Created by Jack on 2018/6/1.
- // Copyright © 2018年 USAI. All rights reserved.
- //
- #import "RADataProvider.h"
- #import "RASingleton.h"
- #import "config.h"
- #import "RAUtils.h"
- //#import "NetworkUtils.h"
- //#import "AESCrypt.h"
- //#import "RAOfflineHandler.h"
- //#import <CoreLocation/CoreLocation.h>
- //
- //
- @implementation RADataProvider
- + (void)SavePanel:(NSString*)panel_setting completionHandler:(resultHandler)result
- {
- if(fake_data)
- {
- result([OfflineDataProvider save_panel]);
- }
- else
- {
- [OnlineDataProvider request_savepanel:panel_setting completionHandler:result];
-
- }
- }
- + (void)Signup : (NSString*) user password:(NSString*) password completionHandler:(resultHandler)result
- {
- // bool boffline = RASingleton.sharedInstance.offline;
- if(fake_data&& false)
- {
- result([OfflineDataProvider request_signup]);
- }
- else
- {
- [OnlineDataProvider request_signup:user password:password completionHandler:result];
-
- }
- }
- + (void)Login: (NSString*) user password:(NSString*) password completionHandler:(resultHandler)result
- {
- // bool boffline = RASingleton.sharedInstance.offline;
- if(fake_data&& false)
- {
- result([OfflineDataProvider request_login]);
- }
- else
- {
- [OnlineDataProvider request_login:user password:password completionHandler:result];
-
- }
- }
- + (void)RetrievePassword : (NSString*)user email:(NSString*)email completionHandler:(resultHandler)result
- {
- if(fake_data)
- {
- result([OfflineDataProvider request_retrievepassword]);
- }
- else
- {
- [OnlineDataProvider request_retrievepassword:user email:email completionHandler:result];
-
- }
- }
- + (void)ChangePassword : (NSString*) newpassword completionHandler:(resultHandler)result
- {
- if(fake_data)
- {
- result([OfflineDataProvider request_changepassword]);
- }
- else
- {
- [OnlineDataProvider request_changepassword:newpassword completionHandler:result];
-
- }
- }
- + (void)Logout :(resultHandler)result
- {
- // bool boffline = RASingleton.sharedInstance.offline;
- if(fake_data)
- {
- result([OfflineDataProvider request_logout]);
- }
- else
- {
- [OnlineDataProvider request_logout:result];
-
- }
- }
- + (void)DownloadFile:(NSMutableDictionary *)params url:(NSString *)url completionHandler:(resultHandler)result;
- {
- if(fake_data)
- {
- [OfflineDataProvider request_fastdownload:nil url:url completionHandler:result];
- }
- else
- {
- [OnlineDataProvider request_fastdownload:nil url:url completionHandler:result];
-
- }
- }
- + (void)LoadHome :(resultHandler)result
- {
- // bool boffline = RASingleton.sharedInstance.offline;
- if(fake_data)
- {
- [OfflineDataProvider request_home:result];
- }
- else
- {
- [OnlineDataProvider request_home:nil completionHandler:result];
-
- }
- }
- + (void)Search:(NSMutableDictionary *)params completionHandler:(resultHandler)result
- {
- if(fake_data)
- {
- result([OfflineDataProvider request_result:params]);
- }
- else
- {
- [OnlineDataProvider request_result:params completionHandler:result];
-
- }
- }
- + (void) TabDetail: (NSMutableDictionary *) params completionHandler:(resultHandler)result
- {
- if(fake_data)
- {
- result([OfflineDataProvider request_detail:params]);
- }
- else
- {
- [OnlineDataProvider request_detail:params completionHandler:result];
-
- }
- }
- #pragma mark utils
- + (bool)saveDetailParameters:(NSMutableDictionary *)param forModule:(NSString *)module withName:(NSString *)name actions:(NSString*)actions
- {
- if (param==nil || module==nil) {
- return @{
- @"result" : @RESULT_FALSE,
- @"err_msg" : @"Sorry, cannot save search, please contact admin."
- };
- }
-
-
- NSString *docDir = [NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES) firstObject];
-
-
- NSData* json_user =[NSData dataWithContentsOfFile:[docDir stringByAppendingPathComponent:[NSString stringWithFormat:@"%@_%@.json",@"saved_detail",RASingleton.sharedInstance.user]]];
-
- NSMutableArray* array;
- if(json_user==nil)
- {
- array = [NSMutableArray new];
-
- }
- else
- {
- array = [[RAConvertor data2arr:json_user] mutableCopy] ;
- }
-
-
- if(array.count>=20)
- {
- // [array removeObjectAtIndex:19];
- [array removeLastObject];
- }
-
- NSMutableDictionary* item = [NSMutableDictionary new];
-
- if(RASingleton.sharedInstance.companylist.count>0)
- {
- param[@"company"]= RASingleton.sharedInstance.companylist[RASingleton.sharedInstance.companyid][@"id"];
- item[@"company_name"]= RASingleton.sharedInstance.companylist[RASingleton.sharedInstance.companyid][@"name"];
- }
- item[@"module"]=module;
- item[@"name"]=name;
- item[@"actions"]=actions;
- item[@"param"]=param;
- item[@"current_date"]=[RAUtils current_date_time];
-
- [array insertObject:item atIndex:0];
-
-
- json_user =[RAConvertor arr2data:array];
- bool result =[json_user writeToFile:[docDir stringByAppendingPathComponent:[NSString stringWithFormat:@"%@_%@.json",@"saved_detail",RASingleton.sharedInstance.user]] atomically:true];
-
- return result;
- }
- + (bool)saveSearchParameters:(NSMutableDictionary *)param forModule:(NSString *)module withName:(NSString *)name
- {
- if (param==nil || module==nil) {
- return false;
- // return @{
- // @"result" : @RESULT_FALSE,
- // @"err_msg" : @"Sorry, cannot save search, please contact admin."
- // };
- }
-
-
- NSString *docDir = [NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES) firstObject];
-
-
- NSData* json_user =[NSData dataWithContentsOfFile:[docDir stringByAppendingPathComponent:[NSString stringWithFormat:@"%@_%@.json",@"saved_search",RASingleton.sharedInstance.user]]];
-
- NSMutableArray* array;
- if(json_user==nil)
- {
- array = [NSMutableArray new];
-
- }
- else
- {
- array = [[RAConvertor data2arr:json_user] mutableCopy] ;
- }
-
-
- if(array.count>=20)
- {
- // [array removeObjectAtIndex:19];
- [array removeLastObject];
- }
- NSMutableDictionary* item = [NSMutableDictionary new];
-
-
- if(RASingleton.sharedInstance.companylist.count>0)
- {
- param[@"company"]= RASingleton.sharedInstance.companylist[RASingleton.sharedInstance.companyid][@"id"];
- item[@"company_name"]= RASingleton.sharedInstance.companylist[RASingleton.sharedInstance.companyid][@"name"];
- }
- item[@"module"]=module;
- item[@"name"]=name;
- item[@"param"]=param;
- item[@"current_date"]=[RAUtils current_date_time];
- [array insertObject:item atIndex:0];
-
-
- json_user =[RAConvertor arr2data:array];
- bool result =[json_user writeToFile:[docDir stringByAppendingPathComponent:[NSString stringWithFormat:@"%@_%@.json",@"saved_search",RASingleton.sharedInstance.user]] atomically:true];
-
- return result;
- }
- +(NSData*) updateFieldsjson:(NSString*) type subtype:(NSString *) subtype
- {
- NSString *docDir = [NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES) firstObject];
-
-
- NSData* json_user =[NSData dataWithContentsOfFile:[docDir stringByAppendingPathComponent:[NSString stringWithFormat:@"%@_%@_%@.json",type,subtype,RASingleton.sharedInstance.user]]];
-
- // NSData* json=[NSData dataWithContentsOfFile:[[NSBundle mainBundle] pathForResource:[NSString stringWithFormat:@"%@_%@",type,subtype] ofType:@"json" ]]; ;
- if(json_user!=nil)
- {
-
- // NSDictionary* dict = [NSJSONSerialization JSONObjectWithData:json options:NSJSONReadingMutableLeaves error:nil] ;
-
- NSDictionary* dict = RASingleton.sharedInstance.fields[type][subtype];
- NSMutableDictionary* dict_user = [[NSJSONSerialization JSONObjectWithData:json_user options:NSJSONReadingMutableLeaves error:nil] mutableCopy] ;
-
- if([dict_user[@"ver"] doubleValue]<[dict[@"ver"] doubleValue])
- {
- // dict_user[@"ver"] =dict[@"ver"];
- // NSArray * arr_add=dict[@"add"];
- //
- // NSMutableArray* user_show=[dict_user[@"show"] mutableCopy];
- // NSMutableArray* user_hide=[dict_user[@"hide"] mutableCopy];
- // for(int i=0;i<arr_add.count;i++)
- // {
- // [user_hide addObject:arr_add[i]];
- //
- // }
- // NSArray * arr_remove=dict[@"remove"];
- // for(int i=0;i<arr_remove.count;i++)
- // {
- // [user_hide removeObject:arr_remove[i]];
- // [user_show removeObject:arr_remove[i]];
- //
- // }
- // dict_user[@"show"] = user_show;
- // dict_user[@"user_hide"] = user_hide;
- json_user =[RAConvertor dict2data:dict];
-
- bool result =[json_user writeToFile:[docDir stringByAppendingPathComponent:[NSString stringWithFormat:@"%@_%@_%@.json",type,subtype,RASingleton.sharedInstance.user]] atomically:true];
- }
- return json_user;
- }
- else
- {
-
- NSData* json = [RAConvertor dict2data:RASingleton.sharedInstance.fields[type][subtype] ];
-
- // json=[NSData dataWithContentsOfFile:[[NSBundle mainBundle] pathForResource:@"FunctionPanel" ofType:@"json" ]];
- bool result =[json writeToFile:[docDir stringByAppendingPathComponent:[NSString stringWithFormat:@"%@_%@_%@.json",type,subtype,RASingleton.sharedInstance.user]] atomically:true];
-
- // NSDictionary* dict = [NSJSONSerialization JSONObjectWithData:json options:NSJSONReadingMutableLeaves error:nil] ;
- return json;
- }
-
-
-
- }
- +(NSData*) updateFunctionPanel
- {
- NSString *docDir = [NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES) firstObject];
-
- NSData* json_user =[NSData dataWithContentsOfFile:[docDir stringByAppendingPathComponent:[NSString stringWithFormat:@"FunctionPanel_%@.json",RASingleton.sharedInstance.user]]];
-
- NSData* json ;
- if(json_user!=nil)
- {
- // json=[NSData dataWithContentsOfFile:[[NSBundle mainBundle] pathForResource:@"FunctionPanel" ofType:@"json" ]];
- // NSDictionary* dict = [NSJSONSerialization JSONObjectWithData:json options:NSJSONReadingMutableLeaves error:nil] ;
- NSDictionary* dict = RASingleton.sharedInstance.functionPanel;
- NSMutableDictionary* dict_user = [[NSJSONSerialization JSONObjectWithData:json_user options:NSJSONReadingMutableLeaves error:nil] mutableCopy] ;
-
- if([dict_user[@"ver"] doubleValue]<[dict[@"ver"] doubleValue])
- {
-
-
- dict_user = [dict mutableCopy];
- // dict_user[@"ver"] =dict[@"ver"];
- // NSArray * arr_add=dict[@"add"];
- //
- // NSMutableArray* user_deactive=[dict_user[@"deactive_functions"] mutableCopy];
- // NSMutableArray* user_active=[dict_user[@"active_functions"] mutableCopy];
- // for(int i=0;i<arr_add.count;i++)
- // {
- // [user_deactive addObject:arr_add[i]];
- //
- // }
- // NSArray * arr_remove=dict[@"remove"];
- // for(int i=0;i<arr_remove.count;i++)
- // {
- // [user_deactive removeObject:arr_remove[i]];
- // [user_active removeObject:arr_remove[i]];
- //
- // }
- // dict_user[@"deactive_functions"] = user_deactive;
- // dict_user[@"active_functions"] = user_active;
- json_user =[RAConvertor dict2data:dict_user];
- bool result =[json_user writeToFile:[docDir stringByAppendingPathComponent:[NSString stringWithFormat:@"FunctionPanel_%@.json",RASingleton.sharedInstance.user]] atomically:true];
- }
- return json_user;
- }
- else
- {
- json=[RAConvertor dict2data:RASingleton.sharedInstance.functionPanel];
-
- // json=[NSData dataWithContentsOfFile:[[NSBundle mainBundle] pathForResource:@"FunctionPanel" ofType:@"json" ]];
- bool result =[json writeToFile:[docDir stringByAppendingPathComponent:[NSString stringWithFormat:@"FunctionPanel_%@.json",RASingleton.sharedInstance.user]] atomically:true];
-
- NSDictionary* dict = [NSJSONSerialization JSONObjectWithData:json options:NSJSONReadingMutableLeaves error:nil] ;
- return json;
- }
-
-
-
- }
- +(DetailContent*) json2DetailContent:(NSMutableDictionary*)jsobj
- {
- DetailContent * detailContent = [[DetailContent alloc] init];
- NSMutableArray* segments = [[NSMutableArray alloc] init];
- detailContent.segments = segments;
- // if(![NetworkUtils IsNetworkAvailable])
- // {
- // detailContent.result_code = RESULT_NET_NOTAVAILABLE;
- // return detailContent;
- // }
- if([jsobj[@"result"]intValue]== RESULT_NET_NOTAVAILABLE)
- {
- detailContent.result_code = RESULT_NET_NOTAVAILABLE;
- detailContent.err_msg = NSLocalizedString(@"net_not_available", nil);
- return detailContent;
- }
- if (jsobj==nil)
- {
- DebugLog(@"json is wrong");
- detailContent.result_code = RESULT_NET_ERROR;
- return detailContent;
- }
-
-
- //------------hack detail html 字体大小-----------
- NSString *str = [RAConvertor dict2string:jsobj];
-
-
- str=[str stringByReplacingOccurrencesOfString:@"<table " withString:@"<table style=font-size:12px "];
-
-
- DebugLog(@"hack string: %@",str);
- //------- hack-----------
- jsobj=[[RAConvertor string2dict:str] mutableCopy];
- int result = [[jsobj valueForKey:@"result"] intValue];
- // if(result== AP_SESSION_EXPIRED)
- // {
- // [self Authorize:appDelegate.user password:appDelegate.password];
- // json=[self get_json:URL_REQUEST_RECORDS parameters:params file:nil];
- // if (json==nil)
- // {
- // DebugLog(@"json is wrong");
- // detailContent.result_code = RESULT_NET_ERROR;
- // return detailContent;
- // }
- // jsobj = [NSJSONSerialization JSONObjectWithData:json options:NSJSONReadingMutableLeaves error:&error];
- // result = [[jsobj valueForKey:@"result"] intValue];
- //
- // }
- if(result!=RESULT_TRUE)
- {
- DebugLog(@"USER NOT AUTHORIZED CODE=%d ",result);
- detailContent.result_code = result;
- detailContent.err_msg = jsobj[@"err_msg"];
- return detailContent;
-
- }
-
-
- int count =[[jsobj valueForKey:@"count"] intValue];
-
-
- detailContent.result_code = RESULT_TRUE;
- if(count==0)
- {
-
- return detailContent;
- }
-
- for(int i=0;i<count;i++)
- {
-
- NSDictionary* segment = [jsobj objectForKey:[NSString stringWithFormat:@"group%d",i]];
- [segments addObject:segment];
-
- }
-
- // NSDictionary* objrecords = [jsobj objectForKey:@"records"];
-
- detailContent.originContent = jsobj;
-
- return detailContent;
-
-
-
- }
- //
- //+(NSMutableDictionary*) prepare_additional_params:(NSMutableDictionary* ) params
- //{
- //
- // if (params == nil) {
- // params = [NSMutableDictionary dictionary];
- // }
- //
- // NSString *user = params[@"user"];
- // if (!user) {
- // user = RASingleton.sharedInstance.user;
- // if (user) {
- // params[@"user"] = user;
- // }
- // }
- //
- // NSString *password = params[@"password"];
- // if (!password) {
- // password = RASingleton.sharedInstance.password;
- // if (password) {
- // params[@"password"] = password;
- // }
- // }
- //
- // [params setObject:@"iOS" forKey:@"platform"];
- //
- // NSDictionary* infoDict =[[NSBundle mainBundle] infoDictionary];
- // NSString* short_version =[infoDict objectForKey:@"CFBundleShortVersionString"];
- // [params setValue:short_version forKey:@"app_short_ver"];
- //
- // NSString *localeLanguageCode = [[NSLocale currentLocale] objectForKey:NSLocaleLanguageCode];
- // [params setValue:localeLanguageCode forKey:@"language"];
- //
- //#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_id"]= RASingleton.sharedInstance.companylist[RASingleton.sharedInstance.companyid][@"id"];
- // return params;
- //}
- //
- //+(NSData*)get_json : (NSString*) url parameters:(NSMutableDictionary *) params file:(NSString *) file //delegate:(id < NSURLConnectionDelegate >)delegate
- //{
- //
- //
- //
- // params = [self prepare_addtional_params:params];
- //
- // return [NetworkUtils get_json:url parameters:params file:file err_recorder:URL_ERR_LOG result_handler:^NSMutableDictionary *(NSMutableDictionary *jsobj) {
- // int result=[[jsobj valueForKey:@"result"] intValue];
- //
- // switch (result) {
- // case -9:
- // case 0:
- // [jsobj setValue:MSG_USERAUTH_ERROR forKey:@"err_msg"];
- // break;
- // case 1:
- // [jsobj setValue:MSG_ERROR forKey:@"err_msg"];
- // break;
- // case RESULT_TRUE:
- // [jsobj setValue:MSG_SUCCESS forKey:@"err_msg"];
- // break;
- // case 9:
- // [jsobj setValue:[jsobj valueForKey:@"msg"] forKey:@"err_msg"];
- // break;
- // case RESULT_TIMEOUT:
- // [jsobj setValue:MSG_TIMEOUT forKey:@"err_msg"];
- // break;
- // default: {
- // NSString *msg = [jsobj valueForKey:@"msg"];
- // if (msg.length == 0) {
- // [jsobj setValue:MSG_ERROR forKey:@"err_msg"];
- // } else {
- // [jsobj setValue:msg forKey:@"err_msg"];
- // }
- // }
- // break;
- // }
- //
- // return jsobj;
- // } decrypt_handler:^NSMutableDictionary *(NSMutableDictionary *jsobj) {
- //
- // NSString* base64str = jsobj[@"str"];
- // NSString* decryptstr=[AESCrypt AES128Decrypt:base64str key:@"Usai2010"];
- // jsobj=[[RAConvertor string2dict:decryptstr] mutableCopy];
- // return jsobj;
- // }];
- //
- //
- // /*
- //
- //
- //
- // */
- // return nil;
- //}
- //
- //+ (NSDictionary *)handleJsonData:(NSData *)jsonData {
- //
- // if (jsonData==nil)
- // {
- // return @{
- // @"result" : @RESULT_NET_ERROR,
- // @"err_msg" : MSG_NET_ERROR
- // };
- // }
- //
- // NSDictionary *json = [NSJSONSerialization JSONObjectWithData:jsonData options:NSJSONReadingMutableLeaves error:nil];
- //
- // return json;
- //
- //}
- //
- //+ (NSDictionary *)requestLogin:(NSString *)user password:(NSString *)pwd {
- //
- // NSMutableDictionary *params = [NSMutableDictionary dictionary];
- //
- // user = [[RASingleton sharedInstance] encryptString:user];
- // pwd = [[RASingleton sharedInstance] encryptString:pwd];
- //
- // [params setObject:user forKey:@"name"];
- // [params setObject:pwd forKey:@"password"];
- //
- // NSData* json=[self get_json:URL_LOGIN parameters:params file:nil];
- //
- // return [self handleJsonData:json];
- //}
- //
- //+ (NSDictionary *)requestRetrievePassword : (NSString*)user email:(NSString*)email
- //{
- //
- //// if(![NetworkUtils IsNetworkAvailable])
- //// return RESULT_NET_NOTAVAILABLE;
- // NSMutableDictionary * params = [[NSMutableDictionary alloc] init];
- // [params setValue:user forKey:@"name"];
- // [params setValue:email forKey:@"email"];
- // [params setValue:@"Retrieve Password" forKey:@"module_name"];
- // [params setValue:@"handset_search" forKey:@"action"];
- //
- // NSData* json=[self get_json:URL_RETRIVE_PASSWORD parameters:params file:nil];
- //// if (json==nil)
- //// {
- //// DebugLog(@"json is wrong");
- //// return RESULT_NET_ERROR;
- //// }
- ////
- //// NSError *error=nil;
- //// NSDictionary *jsobj = [NSJSONSerialization JSONObjectWithData:json options:NSJSONReadingMutableLeaves error:&error];
- //// if(jsobj)
- //// {
- //// int result = [[jsobj valueForKey:@"result"] intValue];
- //// if(result!=AP_USER_AUTH)
- //// {
- //// DebugLog(@"USER NOT AUTHORIZED CODE=%d ",result);
- //// return RESULT_FALSE;
- ////
- //// }
- //// return RESULT_TRUE;
- ////
- //// }
- //// return RESULT_NET_ERROR;
- //
- // return [self handleJsonData:json];
- //}
- //
- //+ (NSDictionary *)requestOrderList {
- //
- // if (RASingleton.sharedInstance.offline) {
- // NSDictionary *result = [[RAOfflineHandler defaultHandler] requestOfflineHome];
- // if (result) {
- // return result;
- // }
- // }
- //
- // NSMutableDictionary *params = [NSMutableDictionary dictionary];
- //
- //
- // NSData* json=[self get_json:URL_HOME parameters:params file:nil];
- //
- //
- //
- // NSMutableDictionary* ret= [RAConvertor data2dict:json].mutableCopy;
- //
- //
- // NSString* path = [[RAUtils appCacheDirectory] stringByAppendingPathComponent:[NSString stringWithFormat:@"%@_orderList.json",RASingleton.sharedInstance.user]];
- // if(ret!=nil&&[ret[@"result"] intValue]!=RESULT_NET_ERROR&&[ret[@"result"] intValue]!=RESULT_NET_NOTAVAILABLE)
- // {
- //
- // [ret writeToFile:path atomically:YES];
- // return ret;
- // }
- // else
- // {
- // NSFileManager* fm = [NSFileManager defaultManager];
- // BOOL isDir = NO;
- // if ([fm fileExistsAtPath:path isDirectory:&isDir])
- // {
- // ret=[NSDictionary dictionaryWithContentsOfFile:path].mutableCopy;
- // ret[@"iscache"]=@(true);
- // return ret;
- // }
- // else
- // {
- // return [self handleJsonData:json];
- // }
- //
- //
- // }
- //
- //}
- //
- //+ (NSDictionary *)requestMoreOrder:(NSInteger)orderType offset:(NSInteger)offset limit:(NSInteger)limit filter:(NSDictionary *)filter {
- //
- // NSMutableDictionary *params = [NSMutableDictionary dictionary];
- // [params setObject:@(orderType) forKey:@"type"];
- // [params setObject:@(offset) forKey:@"offset"];
- // [params setObject:@(limit) forKey:@"limit"];
- // if (filter) {
- // [params setObject:[self dic2String:filter] forKey:@"filter"];
- // }
- //
- // NSData* json=[self get_json:URL_MORE_ORDER parameters:params file:nil];
- //
- // NSMutableDictionary* ret= [RAConvertor data2dict:json].mutableCopy;
- //
- //
- // NSString* path = [[RAUtils appCacheDirectory] stringByAppendingPathComponent:[NSString stringWithFormat:@"%@_moreorder%@.json",RASingleton.sharedInstance.user,@(orderType)]];
- // if(offset==0&&ret!=nil&&[ret[@"result"] intValue]!=RESULT_NET_ERROR&&[ret[@"result"] intValue]!=RESULT_NET_NOTAVAILABLE)
- // {
- //
- // [ret writeToFile:path atomically:YES];
- // return ret;
- // }
- // else
- // {
- // NSFileManager* fm = [NSFileManager defaultManager];
- // BOOL isDir = NO;
- // if ([fm fileExistsAtPath:path isDirectory:&isDir]&&offset==0)
- // {
- // ret=[NSDictionary dictionaryWithContentsOfFile:path].mutableCopy;
- // ret[@"iscache"]=@(true);
- // return ret;
- // }
- // else
- // {
- // return [self handleJsonData:json];
- // }
- //
- //
- // }
- //
- // return [self handleJsonData:json];
- //}
- //
- //+ (NSDictionary *)requestOrderDetail:(NSString *)orderID type:(NSInteger)type type2:(NSString *)type2 statusNo:(NSString *)statusNo {
- //
- // if (RASingleton.sharedInstance.offline) {
- // NSDictionary *result = [[RAOfflineHandler defaultHandler] requestOfflineDetailForOrder:orderID withOrderType:type];
- // if (result) {
- // return result;
- // }
- // }
- //
- // NSMutableDictionary *params = [NSMutableDictionary dictionary];
- // if (orderID) {
- // [params setObject:orderID forKey:@"orderID"];
- // }
- // [params setObject:@(type) forKey:@"orderType"];
- // if (type2) {
- // [params setObject:type2 forKey:@"orderType2"];
- // }
- // if (statusNo) {
- // [params setObject:statusNo forKey:@"statusNo"];
- // }
- //
- // NSData* json=[self get_json:URL_DETAIL parameters:params file:nil];
- //
- // NSMutableDictionary* ret= [RAConvertor data2dict:json].mutableCopy;
- //
- //
- //
- // NSString* path = [[RAUtils appCacheDirectory] stringByAppendingPathComponent:[NSString stringWithFormat:@"%@_detail_%@.json",RASingleton.sharedInstance.user,orderID]];
- // if(ret!=nil&&[ret[@"result"] intValue]!=RESULT_NET_ERROR&&[ret[@"result"] intValue]!=RESULT_NET_NOTAVAILABLE)
- // {
- //
- // [ret writeToFile:path atomically:YES];
- // return ret;
- // }
- // else
- // {
- // NSFileManager* fm = [NSFileManager defaultManager];
- // BOOL isDir = NO;
- // if ([fm fileExistsAtPath:path isDirectory:&isDir])
- // {
- // ret=[NSDictionary dictionaryWithContentsOfFile:path].mutableCopy;
- // ret[@"iscache"]=@(true);
- // return ret;
- // }
- // else
- // {
- // return [self handleJsonData:json];
- // }
- //
- //
- // }
- //
- //#ifdef OFFLINE_MODE
- //
- // NSNumber *finish = [[RAOfflineHandler defaultHandler] lastActionIndexForOrder:orderID];
- // detail = [[RAOfflineHandler defaultHandler] filtrateActionFromDetail:[detail mutableCopy] withFinishActions:finish];
- //
- //#endif
- //
- //// return detail;
- //}
- //
- //+ (NSDictionary *)requestUpdateOrder:(NSString *)orderID driverAction:(NSInteger)action index:(NSInteger)idx {
- //
- // if (RASingleton.sharedInstance.offline) {
- // NSDictionary *result = [[RAOfflineHandler defaultHandler] requestOfflineEditOrder:orderID withAction:idx];
- // if (result) {
- // return result;
- // }
- // }
- //
- //// return [self loadFakeData:@"fake_order_edit.json"];
- // NSMutableDictionary *params = [NSMutableDictionary dictionary];
- // if (orderID) {
- // [params setObject:orderID forKey:@"orderID"];
- // }
- // [params setObject:@(action) forKey:@"action"];
- //
- //
- // NSData* json=[self get_json:URL_UPDATE parameters:params file:nil];
- //
- // NSMutableDictionary* ret= [RAConvertor data2dict:json].mutableCopy;
- //
- //
- //
- // NSString* path = [[RAUtils appCacheDirectory] stringByAppendingPathComponent:[NSString stringWithFormat:@"%@_%@_%@.json",RASingleton.sharedInstance.user,@(action),orderID]];
- // if(ret!=nil&&[ret[@"result"] intValue]!=RESULT_NET_ERROR&&[ret[@"result"] intValue]!=RESULT_NET_NOTAVAILABLE)
- // {
- //
- // [ret writeToFile:path atomically:YES];
- // return ret;
- // }
- // else
- // {
- // NSFileManager* fm = [NSFileManager defaultManager];
- // BOOL isDir = NO;
- // if ([fm fileExistsAtPath:path isDirectory:&isDir])
- // {
- // ret=[NSDictionary dictionaryWithContentsOfFile:path].mutableCopy;
- // ret[@"iscache"]=@(true);
- // return ret;
- // }
- // else
- // {
- // return [self handleJsonData:json];
- // }
- //
- //
- // }
- //}
- //
- //+ (NSDictionary *)reportOrder:(NSString *)orderId type:(NSInteger)type actionType:(NSInteger)action actionIndex:(NSInteger)actionIndex actionName:(NSString *)actionName toURL:(NSString *)url withParams:(NSMutableDictionary *)params {
- //
- // if (RASingleton.sharedInstance.offline) {
- // NSDictionary *result = [[RAOfflineHandler defaultHandler] reportOrder:orderId type:type actionType:action actionIndex:actionIndex actionName:actionName withURL:url params:params];
- // if (result) {
- // return result;
- // }
- // }
- //
- // NSData* json=[self get_json:url parameters:params file:nil];
- //
- // NSDictionary *dic = [self handleJsonData:json];
- //
- // int result = [[dic objectForKey:@"result"] intValue];
- // if (result == RESULT_TRUE) {
- // [[RAOfflineHandler defaultHandler] updateLastAction:actionIndex forOrder:orderId];
- // }
- //
- // return dic;
- //}
- //
- //+ (NSDictionary *)offlineSubmitOrder:(NSString *)orderId action:(NSInteger)actionId title:(NSString *)title index:(NSInteger)idx withParams:(NSDictionary *)params photos:(NSArray<RAEditImageBaseModel *> *)photos cacheDir:(NSString *)dir {
- //
- // return [[RAOfflineHandler defaultHandler] updateOrder:orderId action:actionId title:title index:idx withParams:params photos:photos cacheDir:dir];
- //}
- //
- //+ (NSDictionary *)submitEditOrder:(NSString *)orderId actionIndex:(NSInteger)actionIndex withParams:(NSMutableDictionary *)params {
- //
- // if (![params isKindOfClass:[NSMutableDictionary class]]) {
- // params = [params mutableCopy];
- // }
- //
- // NSData* json=[self get_json:URL_SUBMIT parameters:params file:nil];
- //
- // NSDictionary *dic = [self handleJsonData:json];
- //
- // int result = [[dic objectForKey:@"result"] intValue];
- // if (result == RESULT_TRUE) {
- // [[RAOfflineHandler defaultHandler] updateLastAction:actionIndex forOrder:orderId];
- // }
- //
- // return dic;
- //}
- //
- //+ (NSDictionary *)upload:(NSString*)url parameters:(NSMutableDictionary *)params file:(NSString*)file_path {
- //
- //
- // if (![params isKindOfClass:[NSMutableDictionary class]]) {
- // params = [params mutableCopy];
- // }
- // NSData* json=[self get_json:url parameters:params file:file_path];
- //
- // return [self handleJsonData:json];
- //}
- //
- //+ (NSDictionary *)uploadFile:(NSString *)filePath parameters:(NSMutableDictionary *)params {
- // return [self upload:URL_UPLOAD parameters:params file:filePath];
- //}
- //
- //+ (NSDictionary *)reportLastLocation:(CLLocation *)location forOrderID:(NSString *)orderID locationID:(NSString *)locationId {
- //
- // NSMutableDictionary *params = [NSMutableDictionary dictionary];
- //
- // NSString *latLon = nil;
- // if (location) {
- // latLon = [NSString stringWithFormat:@"%f,%f",location.coordinate.latitude,location.coordinate.longitude];
- //
- // } else {
- // latLon = @"-999,-999";
- // }
- //
- // if (latLon) {
- // [params setObject:latLon forKey:@"location"];
- // }
- //
- // if (orderID) {
- // [params setObject:orderID forKey:@"orderID"];
- // }
- //
- // if (location) {
- // [params setObject:@(location.speed) forKey:@"speed"];
- // [params setObject:@([location.timestamp timeIntervalSince1970]) forKey:@"timestamp"];
- // }
- //
- // if (locationId) {
- // [params setObject:locationId forKey:@"locationId"];
- // }
- //
- // NSString * lastLocationDateTime = RASingleton.sharedInstance.lastLocationDateTime;
- // if(lastLocationDateTime.length>0)
- // {
- // [params setObject:lastLocationDateTime forKey:@"lastLocationDateTime"];
- // }
- // [params setObject:@(0) forKey:@"userOption"]; // 0 表示同意发送位置
- //
- // NSData* json=[self get_json:URL_REPORT_LOCATION parameters:params file:nil];
- //
- // return [self handleJsonData:json];
- //}
- //
- //+ (NSDictionary *)reportLocationWithUserReason:(NSString *)reason forOrder:(NSString *)orderID locationID:(NSString *)locationId {
- //
- // NSMutableDictionary *params = [NSMutableDictionary dictionary];
- // if (reason) {
- // [params setObject:reason forKey:@"reason"];
- // }
- // if (orderID) {
- // [params setObject:orderID forKey:@"orderID"];
- // }
- //
- // if (locationId) {
- // [params setObject:locationId forKey:@"locationId"];
- // }
- //
- // [params setObject:@(1) forKey:@"userOption"]; // 1 表示不同意发送位置
- //
- // NSData* json=[self get_json:URL_REPORT_LOCATION parameters:params file:nil];
- //
- // return [self handleJsonData:json];
- //}
- //
- //+ (NSDictionary *)bindNotificationToken:(NSString *)token {
- //
- // if (token.length == 0) {
- // return @{@"result" : @(0)};
- // }
- //
- // NSMutableDictionary *params = [NSMutableDictionary dictionary];
- // [params setObject:token forKey:@"token"];
- //
- // NSData* json=[self get_json:URL_REPORT_TOKEN parameters:params file:nil];
- //
- // return [self handleJsonData:json];
- //}
- //
- //+ (NSDictionary *)logout {
- //
- // NSMutableDictionary *params = [NSMutableDictionary dictionary];
- //
- // NSData* json=[self get_json:URL_LOGOUT parameters:params file:nil];
- //
- // return [self handleJsonData:json];
- //}
- //
- //+ (NSDictionary *)loadFakeData:(NSString *)fileName {
- //
- // NSString *path = [[NSBundle mainBundle] pathForResource:fileName ofType:nil];
- // NSData *jsonData = [NSData dataWithContentsOfFile:path];
- // return [self handleJsonData:jsonData];
- //}
- //
- ////+ (NSDictionary *)fakeError {
- ////
- ////
- //// return @{
- //// @"container_photo_0": @"12346798",
- //// @"container_photo_1": @"78945612",
- //// @"result": @2
- //// };
- ////}
- //
- //+ (NSDictionary *)updateDriverAvailable:(BOOL)available {
- //
- // NSMutableDictionary *params = [NSMutableDictionary dictionary];
- //
- // int a = available ? 1 : 0;
- // [params setObject:@(a) forKey:@"available"];
- //
- // NSData* json=[self get_json:URL_DRIVER_AVAILABLE parameters:params file:nil];
- //
- // return [self handleJsonData:json];
- //}
- //
- //+ (NSDictionary *)loadDataFromBundleFile:(NSString *)fileName {
- // return [self loadFakeData:fileName];
- //}
- //
- //+ (NSDictionary *)requestChange:(NSString *)old password:(NSString *)pass {
- //
- // NSMutableDictionary *params = [NSMutableDictionary dictionary];
- // if (old) {
- // [params setObject:old forKey:@"oldPassword"];
- // }
- // if (pass) {
- // [params setObject:pass forKey:@"newPassword"];
- // }
- //
- // NSData* json=[self get_json:URL_CHANGE_PASSWORD parameters:params file:nil];
- //
- // return [self handleJsonData:json];
- //}
- //
- //+ (NSDictionary *)requestMessage:(NSInteger)offset limit:(NSInteger)limit unread:(BOOL)unread {
- //
- // NSMutableDictionary *params = [NSMutableDictionary dictionary];
- //
- // [params setObject:@(offset) forKey:@"offset"];
- // [params setObject:@(limit) forKey:@"limit"];
- // [params setObject:@(unread) forKey:@"unread"];
- //
- // NSData* json=[self get_json:URL_MESSAGE_LIST parameters:params file:nil];
- //
- // return [self handleJsonData:json];
- //}
- //
- //+ (void)downloadOfflineData {
- // [[RAOfflineHandler defaultHandler] downloadOfflineData];
- //}
- //
- //#pragma mark - Utils
- //
- //+ (NSString *)dic2String:(NSDictionary *)dic {
- // if (!dic) {
- // return nil;
- // }
- //
- // NSData *data = [NSJSONSerialization dataWithJSONObject:dic options:NSJSONWritingPrettyPrinted error:nil];
- // NSString *str = [[NSString alloc] initWithData:data encoding:NSUTF8StringEncoding];
- // return str;
- //}
- @end
|