// // HttpManager.m // myhome // // Created by hkh on 16/11/6. // #import "HttpManager.h" #import "Pub.h" #import "Sformat.h" #define Share_AppDelegate ((AppDelegate *)[[UIApplication sharedApplication] delegate]) @interface HttpManager (){ } @end @implementation HttpManager{ } + (NSString *)InitUrl{ NSString *url = [@"http://" stringByAppendingString:[Pub getSysInfo].server_wan]; url = [url stringByAppendingString:@"/TalkApp/api.aspx"]; return url; } + (void)SendSmsCode:(NSString *)username HttpResultHandler:(void (^)(NSDictionary *json)) handler{ NSMutableDictionary *paramDic = [NSMutableDictionary dictionary]; [paramDic setObject:@"SendSmsCode" forKey:@"op"]; [paramDic setObject:username forKey:@"username"]; paramDic = [self AddSign:paramDic WithKey:[[NSString alloc] initWithFormat:@"talkapp%@",[Sformat yyyy_MM_dd]] Field:@[@"op",@"username"]]; [self Post:[self InitUrl] WithData:paramDic HttpResultHandler:handler]; } + (void)Login:(NSString *)username Code:(NSString *)code HttpResultHandler:(void (^)(NSDictionary *json)) handler{ NSMutableDictionary *paramDic = [NSMutableDictionary dictionary]; [paramDic setObject:@"Login" forKey:@"op"]; [paramDic setObject:username forKey:@"username"]; [paramDic setObject:code forKey:@"code"]; paramDic = [self AddSign:paramDic WithKey:[[NSString alloc] initWithFormat:@"talkapp%@",[Sformat yyyy_MM_dd]] Field:@[@"op",@"username",@"code"]]; // [self Post:url WithData:paramDic completionHandler:^(NSURLResponse * response, NSData * data, NSError * connectionError) { // NSString *ret = [[NSString alloc] initWithData:data encoding:NSUTF8StringEncoding]; // NSLog(@"%@",ret); // // }]; [self Post:[self InitUrl] WithData:paramDic HttpResultHandler:handler]; } + (void)CheckLoginStatu:(NSString *)username Token:(NSString *)token HttpResultHandler:(void (^)(NSDictionary *json)) handler{ NSMutableDictionary *paramDic = [NSMutableDictionary dictionary]; [paramDic setObject:@"CheckLoginStatu" forKey:@"op"]; [paramDic setObject:username forKey:@"username"]; [paramDic setObject:token forKey:@"token"]; paramDic = [self AddSign:paramDic WithKey:[[NSString alloc] initWithFormat:@"talkapp%@",[Sformat yyyy_MM_dd]] Field:@[@"op",@"username",@"token"]]; [self Post:[self InitUrl] WithData:paramDic HttpResultHandler:handler]; } + (void)BindEquSucc:(NSString *)username Token:(NSString *)token Equid:(NSString *)equid Name:(NSString *)name HttpResultHandler:(void (^)(NSDictionary *json)) handler{ //NSString *name_encode = [name stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding]; //解码 stringByReplacingPercentEscapesUsingEncoding NSMutableDictionary *paramDic = [NSMutableDictionary dictionary]; [paramDic setValue:@"BindEquSucc" forKey:@"op"]; [paramDic setValue:username forKey:@"username"]; [paramDic setValue:token forKey:@"token"]; [paramDic setValue:equid forKey:@"equid"]; [paramDic setValue:name forKey:@"name"]; paramDic = [self AddSign:paramDic WithKey:[[NSString alloc] initWithFormat:@"talkapp%@",[Sformat yyyy_MM_dd]] Field:@[@"op",@"username",@"token",@"equid",@"name"]]; [self Post:[self InitUrl] WithData:paramDic HttpResultHandler:handler]; } + (void)EquList:(NSString *)username Token:(NSString *)token HttpResultHandler:(void (^)(NSDictionary *json)) handler{ NSMutableDictionary *paramDic = [NSMutableDictionary dictionary]; [paramDic setObject:@"EquList" forKey:@"op"]; [paramDic setObject:username forKey:@"username"]; [paramDic setObject:token forKey:@"token"]; paramDic = [self AddSign:paramDic WithKey:[[NSString alloc] initWithFormat:@"talkapp%@",[Sformat yyyy_MM_dd]] Field:@[@"op",@"username",@"token"]]; [self Post:[self InitUrl] WithData:paramDic HttpResultHandler:handler]; } + (void)DelEqu:(NSString *)username Token:(NSString *)token Equid:(NSString *)equid HttpResultHandler:(void (^)(NSDictionary *json)) handler{ NSMutableDictionary *paramDic = [NSMutableDictionary dictionary]; [paramDic setObject:@"DelEqu" forKey:@"op"]; [paramDic setObject:username forKey:@"username"]; [paramDic setObject:token forKey:@"token"]; [paramDic setObject:equid forKey:@"equid"]; paramDic = [self AddSign:paramDic WithKey:[[NSString alloc] initWithFormat:@"talkapp%@",[Sformat yyyy_MM_dd]] Field:@[@"op",@"username",@"token",@"equid"]]; [self Post:[self InitUrl] WithData:paramDic HttpResultHandler:handler]; } + (void)Gzh_Qrcode:(NSString *)username Token:(NSString *)token HttpResultHandler:(void (^)(NSDictionary *json)) handler{ NSMutableDictionary *paramDic = [NSMutableDictionary dictionary]; [paramDic setObject:@"Gzh_Qrcode" forKey:@"op"]; [paramDic setObject:username forKey:@"username"]; [paramDic setObject:token forKey:@"token"]; paramDic = [self AddSign:paramDic WithKey:[[NSString alloc] initWithFormat:@"talkapp%@",[Sformat yyyy_MM_dd]] Field:@[@"op",@"username",@"token"]]; [self Post:[self InitUrl] WithData:paramDic HttpResultHandler:handler]; } + (void)HasBindGzh:(NSString *)username Token:(NSString *)token HttpResultHandler:(void (^)(NSDictionary *json)) handler{ NSMutableDictionary *paramDic = [NSMutableDictionary dictionary]; [paramDic setObject:@"HasBindGzh" forKey:@"op"]; [paramDic setObject:username forKey:@"username"]; [paramDic setObject:token forKey:@"token"]; paramDic = [self AddSign:paramDic WithKey:[[NSString alloc] initWithFormat:@"talkapp%@",[Sformat yyyy_MM_dd]] Field:@[@"op",@"username",@"token"]]; [self Post:[self InitUrl] WithData:paramDic HttpResultHandler:handler]; } + (void)UnbindGzh:(NSString *)username Token:(NSString *)token HttpResultHandler:(void (^)(NSDictionary *json)) handler{ NSMutableDictionary *paramDic = [NSMutableDictionary dictionary]; [paramDic setObject:@"UnbindGzh" forKey:@"op"]; [paramDic setObject:username forKey:@"username"]; [paramDic setObject:token forKey:@"token"]; paramDic = [self AddSign:paramDic WithKey:[[NSString alloc] initWithFormat:@"talkapp%@",[Sformat yyyy_MM_dd]] Field:@[@"op",@"username",@"token"]]; [self Post:[self InitUrl] WithData:paramDic HttpResultHandler:handler]; } + (void)GetLatestVersionCode:(NSString *)username Token:(NSString *)token HttpResultHandler:(void (^)(NSDictionary *json)) handler{ NSMutableDictionary *paramDic = [NSMutableDictionary dictionary]; [paramDic setObject:@"GetLatestVersionCode" forKey:@"op"]; [paramDic setObject:username forKey:@"username"]; [paramDic setObject:token forKey:@"token"]; paramDic = [self AddSign:paramDic WithKey:[[NSString alloc] initWithFormat:@"talkapp%@",[Sformat yyyy_MM_dd]] Field:@[@"op",@"username",@"token"]]; [self Post:[self InitUrl] WithData:paramDic HttpResultHandler:handler]; } + (void)UpPhoto:(NSString *)username Token:(NSString *)token Equid:(NSString *)equid Imgdata:(NSData*) data HttpResultHandler:(void (^)(NSDictionary *json)) handler{ NSMutableDictionary *paramDic = [NSMutableDictionary dictionary]; [paramDic setObject:@"UpPhoto" forKey:@"op"]; [paramDic setObject:username forKey:@"username"]; [paramDic setObject:token forKey:@"token"]; [paramDic setObject:equid forKey:@"equid"]; NSData *data1 = [data base64EncodedDataWithOptions:(0)]; NSString * imgdata = [[NSString alloc] initWithData:data1 encoding:NSUTF8StringEncoding]; [paramDic setObject:imgdata forKey:@"imgdata"]; paramDic = [self AddSign:paramDic WithKey:[[NSString alloc] initWithFormat:@"talkapp%@",[Sformat yyyy_MM_dd]] Field:@[@"op",@"username",@"token",@"equid",@"imgdata"]]; [self Post:[self InitUrl] WithData:paramDic HttpResultHandler:handler]; } + (void)delPhoto:(NSString *)username Token:(NSString *)token No:(NSString *)no HttpResultHandler:(void (^)(NSDictionary *json)) handler{ NSMutableDictionary *paramDic = [NSMutableDictionary dictionary]; [paramDic setObject:@"delPhoto" forKey:@"op"]; [paramDic setObject:username forKey:@"username"]; [paramDic setObject:token forKey:@"token"]; [paramDic setObject:no forKey:@"no"]; paramDic = [self AddSign:paramDic WithKey:[[NSString alloc] initWithFormat:@"talkapp%@",[Sformat yyyy_MM_dd]] Field:@[@"op",@"username",@"token",@"no"]]; [self Post:[self InitUrl] WithData:paramDic HttpResultHandler:handler]; } + (void)getPhotos:(NSString *)username Token:(NSString *)token Equid:(NSString *)equid HttpResultHandler:(void (^)(NSDictionary *json)) handler{ NSMutableDictionary *paramDic = [NSMutableDictionary dictionary]; [paramDic setObject:@"getPhotos" forKey:@"op"]; [paramDic setObject:username forKey:@"username"]; [paramDic setObject:token forKey:@"token"]; [paramDic setObject:equid forKey:@"equid"]; paramDic = [self AddSign:paramDic WithKey:[[NSString alloc] initWithFormat:@"talkapp%@",[Sformat yyyy_MM_dd]] Field:@[@"op",@"username",@"token",@"equid"]]; [self Post:[self InitUrl] WithData:paramDic HttpResultHandler:handler]; } + (void)postPushkitToken:(NSString *)username Token:(NSString *)token PushkitToken:(NSString *)pushkitToken Push:(NSString *)push IsSandbox:(NSString *)sandbox HttpResultHandler:(void (^)(NSDictionary *json)) handler{ NSMutableDictionary *paramDic = [NSMutableDictionary dictionary]; [paramDic setObject:@"postPushkitToken" forKey:@"op"]; [paramDic setObject:username forKey:@"username"]; [paramDic setObject:token forKey:@"token"]; [paramDic setObject:pushkitToken forKey:@"pushkitToken"]; [paramDic setObject:push forKey:@"push"]; [paramDic setObject:sandbox forKey:@"sandbox"]; paramDic = [self AddSign:paramDic WithKey:[[NSString alloc] initWithFormat:@"talkapp%@",[Sformat yyyy_MM_dd]] Field:@[@"op",@"username",@"token",@"pushkitToken"]]; [self Post:[self InitUrl] WithData:paramDic HttpResultHandler:handler]; } + (void)loadPage:(NSString *)url HttpResultHandler:(void (^)(NSData * data)) handler{ NSMutableURLRequest *request = [NSMutableURLRequest requestWithURL:[NSURL URLWithString:url]]; request.HTTPMethod = @"POST"; NSString *body = @"ios=1"; [request setHTTPBody:[body dataUsingEncoding:NSUTF8StringEncoding]]; [NSURLConnection sendAsynchronousRequest:request queue: [[NSOperationQueue alloc] init] completionHandler:^(NSURLResponse * response, NSData * data, NSError * connectionError) { //NSLog(@"ret :%@",connectionError); dispatch_async(dispatch_get_main_queue(), ^{//转到主线程处理 //[Msg Alert:self Msg:ret]; //NSString *ret = [[NSString alloc] initWithData:data encoding:NSUTF8StringEncoding]; handler(data); }); }]; } +(NSMutableDictionary *)AddSign:(NSMutableDictionary *)paramDic WithKey:(NSString *) key Field:(NSArray *)field{ NSString *str4sign = @""; // for(id key in paramDic){ // str4sign = [str4sign stringByAppendingString:key]; // str4sign = [str4sign stringByAppendingString:[paramDic objectForKey:key] ]; // } for(id item in field){ //NSLog(@"AddSign:item=%@",item); //NSLog(@"AddSign:value=%@",[paramDic objectForKey:item] ); str4sign = [str4sign stringByAppendingString:item]; str4sign = [str4sign stringByAppendingString:[paramDic objectForKey:item] ]; } str4sign = [str4sign stringByAppendingString:key]; //NSLog(@"AddSign:%@",str4sign); [paramDic setObject:[Pub md5_:str4sign] forKey:@"sign"]; return paramDic; } + (void)Post:(NSString *)url WithData:(NSMutableDictionary *)paramDic HttpResultHandler:(void (^)(NSDictionary *json)) handler { NSMutableURLRequest *request = [NSMutableURLRequest requestWithURL:[NSURL URLWithString:url]]; request.HTTPMethod = @"POST"; NSString *body = @"ios=1"; NSString *str4sign = @""; for(id key in paramDic){ body = [body stringByAppendingString:[[NSString alloc] initWithFormat:@"&%@=",key]]; body = [body stringByAppendingString:[paramDic objectForKey:key] ]; } [request setHTTPBody:[body dataUsingEncoding:NSUTF8StringEncoding]]; //NSLog(@"body :%@",body); if ([[UIDevice currentDevice].systemVersion floatValue] >= 9.0) { //NSLog(@"systemVersion :%f",[[UIDevice currentDevice].systemVersion floatValue]); NSURLSession *session = [NSURLSession sharedSession]; NSURLSessionDataTask *dataTask = [session dataTaskWithRequest:request completionHandler:^(NSData *data, NSURLResponse *response, NSError *error) { //NSLog(@"ret :%@",error); dispatch_async(dispatch_get_main_queue(), ^{//转到主线程处理 //[Msg Alert:self Msg:ret]; NSString *ret = [[NSString alloc] initWithData:data encoding:NSUTF8StringEncoding]; //NSLog(@"ret :%@",ret); NSDictionary * json = [Pub DictionaryWithJsonString:ret]; if(!json){ json = [Pub DictionaryWithJsonString:@"{\"result\":\"网络异常\"}"]; } handler(json); }); }]; [dataTask resume]; } else{ //[NSURLConnection sendAsynchronousRequest:request queue:[[NSOperationQueue alloc] init] completionHandler:handler]; [NSURLConnection sendAsynchronousRequest:request queue: [[NSOperationQueue alloc] init] completionHandler:^(NSURLResponse * response, NSData * data, NSError * connectionError) { //NSLog(@"ret :%@",connectionError); dispatch_async(dispatch_get_main_queue(), ^{//转到主线程处理 //[Msg Alert:self Msg:ret]; NSString *ret = [[NSString alloc] initWithData:data encoding:NSUTF8StringEncoding]; //NSLog(@"ret :%@",ret); NSDictionary * json = [Pub DictionaryWithJsonString:ret]; if(!json){ json = [Pub DictionaryWithJsonString:@"{\"result\":\"网络异常\"}"]; } handler(json); }); }]; } } @end