// // 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 // // @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)SaveEditor:(NSMutableDictionary*)params completionHandler:(resultHandler)result { if(fake_data) { [OfflineDataProvider request_save_editor:params completionHandler:result]; } else { [OnlineDataProvider request_save_editor:params completionHandler: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]; } } +(void)request_editor:(NSString*) request_url params:(NSMutableDictionary*)params completionHandler:(resultHandler)result { if(fake_data ) { [OfflineDataProvider request_editor:params completionHandler:result]; } else { [OnlineDataProvider request_detail:params completionHandler:result]; } } +(void)request_commoneditor_partialrefresh: (NSMutableDictionary*)params url:(NSString*)url completionHandler:(resultHandler)result { if(fake_data) { [OfflineDataProvider request_commoneditor_partialrefresh:params completionHandler:result]; } else { [OnlineDataProvider request_commoneditor_partialrefresh:params url:url 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;i0) // 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 *)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