iOS开发-网络框架

作者: PlusNie | 来源:发表于2016-06-22 19:03 被阅读2534次

网络框架(以下称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?

结束。


你们的支持也是我前进的动力,非常感谢支持!

相关文章

网友评论

  • 8888_c62a:请问一个 app对应几个后台 有多套请求header 您这个怎么处理呢
    PlusNie:多个请求可以尝试写一个路由器,针对多个服务器请求地址做路由器解析。
    PlusNie:常规一个app对应一个后台,目前不支持多个服务器请求
  • 辛乐:亲,换个URL测试post的感觉有问题呢, NSDictionary *param = @{
    @"scope" :@103,
    @"format" :@"json",
    @"appid" :@379020,
    @"bk_key" :@"银魂",
    @"bk_length" :@600
    };
    "http://baike.baidu.com/api/openapi/BaikeLemmaCardApi"
    写耶:@0298f06a4493 亲,你这个接口我post怎么报错……
    辛乐:@NiePlus 你好,我是原来就有最新的afnetworking的框架,然后是直接拖入工程你的NSAFNetworking这个类的两个文件,没用pod引入
    PlusNie:@0298f06a4493 你是怎么集成的?
  • 了了此心:不错,不错,真的不错
    PlusNie:@了了此心 感谢支持。
  • 壹点微尘:发送post请求崩溃!
    PlusNie:@壹点微尘 好的785558516
    壹点微尘:@NiePlus 群主,你qq号多少了,我给你发过去你看一下!本人的1047912930
    PlusNie:AFNetworking更新最新版本,post请求不会崩溃,可以参照demo。
  • 不慌不忙:可以,顶一下
    PlusNie:@不慌不忙 感谢支持!

本文标题:iOS开发-网络框架

本文链接:https://www.haomeiwen.com/subject/xsdndttx.html