您的位置:首页 > 理论基础 > 计算机网络

iOS开发-网络框架-b

2016-06-22 19:30 323 查看
网络框架(以下称NJAFNetworking)是基于AFNetworking框架的简单封装,基本功能包括POST请求,GET请求,上传文件,下载文件,网络状态,缓存等。

为什么要使用NJAFNetworking?

在使用AFNetworking的时候我们会发现对外开发接口比较多,当项目需求涉及到缓存,以及网络判断的时候,我们都无从下手。然NJAFNetworking框架将这些过多的开发接口封装到一起,让我们使用起来更为方便。

优点:

网络状态已经封装,在通过GET/POST请求会回调;

缓存已经封装,当GET/POST请求失败后会回调;

开发接口少,只需调用相应功能功能的接口即可。

NJAFNetworking究竟是什么?

配置公共的请求头(可以不配置)

/**
*  配置公共的请求头,用于区分请求来源,需要与服务器约定好
*  @param httpHeaders      如@{"client" : "iOS"}
*/
+ (void)configCommonHttpHeaders:(NSDictionary *)httpHeaders;


更新请求接口基础url(如果服务器地址有多个,可以不配置)

/**
*  更新请求接口基础url(如果服务器地址有多个)
*  @param baseUrl 请求接口基础url
*/
+ (void)updateBaseUrl:(NSString *)baseUrl;


GET请求接口
/**
*  GET请求接口
*  @param url          访问地址路径,如/user/index/login
*  @param refreshCache 是否刷新缓存,YES
*  @param params       需要传的参数,如@{@"user_id" :@(80011)}
*  @param progress     进度回调,
*  @param success      接口请求响应成功回调
*  @param fail         接口请求响应失败回调
*  @return             NSURLSessionTask
*/
+ (NJURLSessionTask *)getWithUrl:(NSString *)url
refreshCache:(BOOL)refreshCache
params:(NSDictionary *)params
progress:(NJLoadProgress)progress
success:(NJResponseSuccess)success
fail:(NJResponseFail)fail;


POST请求接口
/**
*  POST请求接口
*  @param url          访问地址路径,如/user/index/login
*  @param refreshCache 是否刷新缓存,YES
*  @param params       需要传的参数,如@{@"user_id" :@(80011)}
*  @param progress     进度回调,
*  @param success      接口请求响应成功回调
*  @param fail         接口请求响应失败回调
*  @return             NSURLSessionTask
*/
+ (NJURLSessionTask *)postWithUrl:(NSString *)url
refreshCache:(BOOL)refreshCache
params:(NSDictionary *)params
progress:(NJLoadProgress)progress
success:(NJResponseSuccess)success
fail:(NJResponseFail)fail;


图片上传接口
/**
*  图片上传接口
*  @param image        图片对象
*  @param url          上传图片路径,如/user/images
*  @param filename     文件名字,默认为当前时间yyyyMMddHHmmss.jpg
*  @param name         约定关联名称,如image
*  @param mimeType     默认iamge/jpeg
*  @param parameters   需要传的参数,如@{@"user_id" :@(80011)}
*  @param progress     上传进度回调
*  @param success      上传成功回调
*  @param fail         上传失败回调
*  @return             NSURLSessionTask
*/
+ (NJURLSessionTask *)uploadWithImage:(UIImage *)image
url:(NSString *)url
filename:(NSString *)filename
name:(NSString *)name
mimeType:(NSString *)mimeType
parameters:(NSDictionary *)parameters
progress:(NJLoadProgress)progress
success:(NJResponseSuccess)success
fail:(NJResponseFail)fail;


上传文件
/**
*  上传文件
*  @param url              上传文件路径,如/user/images
*  @param uploadingFile    待上传文件路径,如/user/images
*  @param progress         进度回调
*  @param success          上传成功回调
*  @param fail             上传失败回调
*  @return                 NSURLSessionTask
*/
+ (NJURLSessionTask *)uploadFileWithUrl:(NSString *)url
uploadingFile:(NSString *)uploadingFile
progress:(NJLoadProgress)progress
success:(NJResponseSuccess)success
fail:(NJResponseFail)fail;


下载文件
/**
*  下载文件
*  @param url              下载文件URL
*  @param saveToPath       下载到那个路径下
*  @param progress         下载进度
*  @param success          下载成功后的回调
*  @param fail             下载失败后的回调
*  @return NSURLSessionTask
*/
+ (NJURLSessionTask *)downloadWithUrl:(NSString *)url
saveToPath:(NSString *)saveToPath
progress:(NJLoadProgress)progress
success:(NJResponseSuccess)success
fail:(NJResponseFail)fail;


如何使用NJAFNetworking?

NJAFNetworking支持CocoaPods(CocoaPods是什么?)
写在Podfile文件中,

source 'https://github.com/CocoaPods/Specs.git'
inhibit_all_warnings!

target "这里写你的工程名字" do
pod 'NJAFNetworking', '~> 1.0.1'
end


下载NJAFNetworking(下载地址
下载完后将NJAFNetworking文件夹拖入工程中即可。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: