数据请求工具类ios
来源:互联网 发布:golang mgo.v2 编辑:程序博客网 时间:2024/06/05 14:25
WJRequstTool.h
#import <Foundation/Foundation.h>
@interface WJRequstTool : NSObject
/**
* 成功回调
*
* @param responseObject 请求结果
* @param backCode 返回码
*/
typedef void (^successBlock)(id responseObject, NSUInteger backCode);
/**
* 失败回调block
*
* @param error 失败信息
*/
typedef void (^failureBlock)(NSError *error);
/**
* 上传照片Block
*
* @param formData 上传的图片数据
*/
typedef void (^constructingBodyWithBlock)(id formData);
/**
* POST 请求
*
* @param URLString 网址
* @param parameters 参数
* @param success 成功回调
* @param failure 失败回调
*/
+ (void)POST:(NSString *)URLString parameters:(id)parameters success:(successBlock)success failure:(failureBlock)failure;
/**
* POST 请求(请求头已设置)
*
* @param URLString 网址
* @param parameters 参数
* @param success 成功回调
* @param failure 失败回调
*/
+ (void)POSTHEADER:(NSString *)URLString parameters:(id)parameters success:(successBlock)success failure:(failureBlock)failure;
/**
* 上传图片 (请求头已设置)
*
* @param URLString 请求地址
* @param parameters 参数
* @param block 图片处理
* @param success 成功回调
* @param failure 失败回调
*/
+ (void)POSTHEADER:(NSString *)URLString parameters:(id)parameters constructingBodyWithBlock:(constructingBodyWithBlock)block success:(successBlock)success failure:(failureBlock)failure;
/**
* 上传图片
*
* @param URLString 请求地址
* @param parameters 参数
* @param block 图片处理
* @param success 成功回调
* @param failure 失败回调
*/
+ (void)POST:(NSString *)URLString parameters:(id)parameters constructingBodyWithBlock:(constructingBodyWithBlock)block success:(successBlock)success failure:(failureBlock)failure;
+(void)versionUpdateRemindingCompleted:(void(^)(id responseObject))completion;
@end
WJRequstTool.m
#import "WJRequstTool.h"
@implementation WJRequstTool
//#define urdic @"userCode":[userDef objectForKey:@"userCode"]
+ (void)showActivitevie:(BOOL)show {
[UIApplication sharedApplication].networkActivityIndicatorVisible = show;
}
+ (void)POST:(NSString *)URLString parameters:(id)parameters success:(successBlock)success failure:(failureBlock)failure {
[self showActivitevie:YES];
AFHTTPSessionManager *manager = [AFHTTPSessionManager manager];
manager.responseSerializer = [AFHTTPResponseSerializer serializer];
[manager.requestSerializer setValue:@"application/x-www-form-urlencoded;charset=utf-8" forHTTPHeaderField:@"Content-Type"];
[manager POST:URLString parameters:parameters progress:nil success:^(NSURLSessionDataTask * _Nonnull task, id _Nullable responseObject) {
id json = [NSJSONSerialization JSONObjectWithData:responseObject options:0 error:nil];
// NSUInteger backCode = [json[@"code"] unsignedIntegerValue];
if (success) {
success(json, nil);
[self showActivitevie:NO];
}
} failure:^(NSURLSessionDataTask * _Nullable task, NSError * _Nonnull error) {
if (failure) {
failure(error);
[self showActivitevie:NO];
}
}];
}
+ (void)POST:(NSString *)URLString parameters:(id)parameters constructingBodyWithBlock:(constructingBodyWithBlock)block success:(successBlock)success failure:(failureBlock)failure {
[self showActivitevie:YES];
AFHTTPSessionManager *manager = [AFHTTPSessionManager manager];
manager.responseSerializer = [AFHTTPResponseSerializer serializer];
[manager.requestSerializer setValue:@"application/x-www-form-urlencoded;charset=utf-8" forHTTPHeaderField:@"Content-Type"];
[manager POST:URLString parameters:parameters constructingBodyWithBlock:^(id<AFMultipartFormData> _Nonnull formData) {
block(formData);
} progress:nil success:^(NSURLSessionDataTask * _Nonnull task, id _Nullable responseObject) {
id json = [NSJSONSerialization JSONObjectWithData:responseObject options:0 error:nil];
NSUInteger backCode = [json[@"code"] unsignedIntegerValue];
if (success) {
success(json, backCode);
[self showActivitevie:NO];
}
} failure:^(NSURLSessionDataTask * _Nullable task, NSError * _Nonnull error) {
if (failure) {
failure(error);
[self showActivitevie:NO];
}
}];
}
+ (void)POSTHEADER:(NSString *)URLString parameters:(id)parameters constructingBodyWithBlock:(constructingBodyWithBlock)block success:(successBlock)success failure:(failureBlock)failure {
[self showActivitevie:YES];
AFHTTPSessionManager *manager = [AFHTTPSessionManager manager];
manager.responseSerializer = [AFHTTPResponseSerializer serializer];
[manager.requestSerializer setValue:@"application/x-www-form-urlencoded;charset=utf-8" forHTTPHeaderField:@"Content-Type"];
// NSString *userToken = [AccountTool account].userToken;
// if (userToken) {
// [manager.requestSerializer setValue:userToken forHTTPHeaderField:@"userToken"];
// [manager.requestSerializer setValue:@"1" forHTTPHeaderField:@"ClientType"];
// }
[manager POST:URLString parameters:parameters constructingBodyWithBlock:^(id<AFMultipartFormData> _Nonnull formData) {
block(formData);
} progress:nil success:^(NSURLSessionDataTask * _Nonnull task, id _Nullable responseObject) {
id json = [NSJSONSerialization JSONObjectWithData:responseObject options:0 error:nil];
NSUInteger backCode = [json[@"code"] unsignedIntegerValue];
if (success) {
success(json, backCode);
[self showActivitevie:NO];
}
} failure:^(NSURLSessionDataTask * _Nullable task, NSError * _Nonnull error) {
if (failure) {
failure(error);
[self showActivitevie:NO];
}
}];
}
+ (void)POSTHEADER:(NSString *)URLString parameters:(id)parameters success:(successBlock)success failure:(failureBlock)failure {
[self showActivitevie:YES];
AFHTTPSessionManager *manager = [AFHTTPSessionManager manager];
manager.responseSerializer = [AFHTTPResponseSerializer serializer];
[manager.requestSerializer setValue:@"application/x-www-form-urlencoded;charset=utf-8" forHTTPHeaderField:@"Content-Type"];
// NSString *userToken = [AccountTool account].userToken;
// if (userToken) {
// [manager.requestSerializer setValue:userToken forHTTPHeaderField:@"userToken"];
// [manager.requestSerializer setValue:@"1" forHTTPHeaderField:@"ClientType"];
// }
[manager POST:URLString parameters:parameters progress:nil success:^(NSURLSessionDataTask * _Nonnull task, id _Nullable responseObject) {
id json = [NSJSONSerialization JSONObjectWithData:responseObject options:0 error:nil];
// NSUInteger backCode = [json[@"code"] unsignedIntegerValue];
if (success) {
success(json,nil);
[self showActivitevie:NO];
}
} failure:^(NSURLSessionDataTask * _Nullable task, NSError * _Nonnull error) {
if (failure) {
failure(error);
[self showActivitevie:NO];
}
}];
}
//从网络上请求版本
+(void)versionUpdateRemindingCompleted:(void(^)(id responseObject))completion{
NSString *urlString = @"https://itunes.apple.com/CN/lookup?id=1262952129";
[self POST:urlString parameters:nil success:^(id responseObject, NSUInteger backCode) {
if (responseObject) {
NSArray *results = responseObject[@"results"];
if (results.count > 0) {
NSDictionary *appInfo = [results objectAtIndex:0];
NSString *version= appInfo[@"version"];
if (version) {
completion(version);
NSLog(@"%@",version);
}else{
completion(nil);
}
}
completion(nil);
}else{
completion(nil);
}
} failure:^(NSError *error) {
[MBProgressHUD showError:@"请求数据失败"];
}];
}
@end
- 数据请求工具类ios
- Connection请求数据工具类
- Xutils3.0请求网络数据工具类
- ios 网络请求数据封装类
- iOS 数据请求类AFNetworking 简单封装
- iOS网络数据请求
- ios数据请求
- IOS之数据请求
- iOS请求数据AFNetworking
- iOS数据请求AFNetworking
- iOS网络数据请求
- iOS网络数据请求
- iOS中数据请求
- 网络请求数据工具封装
- 封装工具类,判断是否连接网络,请求数据
- iOS开发 ----- 网络请求2 ----- 请求数据
- ios请求 返回json数据
- ios NSURLRequest NSMutableURLRequest 数据请求
- C++中的this
- 显卡里的cuda真正做到并行运算的机制和线程个数,主要关于SM、warp等概念。
- Hive为什么适合做数据仓库
- 设计模式之原型模式
- 国庆清北刷题冲刺班 Day2 上午
- 数据请求工具类ios
- 几个关于JMeter的博客文章
- MySQL 百万级分页优化(Mysql千万级快速分页)
- PHP页面间参数传递的四种方法详解
- 矩形嵌套
- C++实现简单的二叉树
- Linux文件权限管理及相关操作
- 为什么要使用链接建设
- 什么是2MSL