Latest 0.0.5
Homepage https://github.com/xiaohange/JQHttpRequest
License MIT
Platforms ios 7.0, requires ARC
Dependencies AFNetworking, EGOCache
Authors

前言

JQHttpRequest:目前二次封装网络库支持四种请求:GET、POST、PUT、DELETE较常见的请求,HEAD/PATH/COPY/OPTIONS/LINK/LOCK等不常用的后续会根据需求调整,本库支持数据缓存、缓存超时设置、请求超时设置等;支持cer证书验证等;

更新记录

  • 0.0.5
    新增文件上传, 文件下载, 设置请求头等
  • 0.0.4
    新增取消全部请求
  • 0.0.3
    新增CER证书验证
  • 0.0.2
    新增EGOCache缓存, 新增四种缓存方式
  • 0.0.1
    发布第一版本 0.0.1

Installation

From CocoaPods

pod  "JQHttpRequest"

Manually

  • Drag all source files under floder JQHttpRequest to your project.

Usage

///Test
    [[JQBaseRequest sharedManager].setRequest(COLLECTION_LIST).RequestType(JQRequestMethodGET).Cachetype(JQBaseRequestReloadIgnoringLocalCacheData).cerName(nil).timeoutInterval(30).CachTime(60).Parameters(nil) startRequestWithSuccess:^(NSURLSessionDataTask *task, id responseObject) {

    } progress:^(NSProgress *progress) {

    /* NSProgress 不能为nil,因为AFN的默认参数是 _Nonnull 修饰的!*/

    } failure:^(NSURLSessionDataTask *task, NSError *error) {
        NSLog(@"%@",error);
    }];
  • 参数说明:
setRequest:  请求url
RequestType: 
             请求类型:
             JQRequestMethodGET = 0,
             JQRequestMethodPOST,
             JQRequestMethodPUT,
             JQRequestMethodDELETE 目前支持四种,会持续更新;
-------------------------------------------------------------------------
Cachetype: 缓存类型:
JQBaseRequestReturnCacheDataThenLoad = 0,  ///< 有缓存就先返回缓存,同步请求数据
JQBaseRequestReloadIgnoringLocalCacheData, ///< 忽略缓存,重新请求
JQBaseRequestReturnCacheDataElseLoad,      ///< 有缓存就用缓存,没有缓存就重新请求(用于数据不变时)
JQBaseRequestReturnCacheDataDontLoad,      ///< 有缓存就用缓存,没有缓存就不发请求,当做请求出错处理(用于离线模式)

cerName: cer证书名称,设置则开启验证,默认不开启,若设置请确保名称正确,否则导致crash;

timeoutInterval: 请求超时设置 默认20s
CachTime:        设置缓存时间 默认时间一天
Parameters:      参数设置 字典传输
  • startRequestWithSuccess: 请求函数,提供三个,如下:
/**
 *  发送请求
 *
 *  @param Success  成功的回调
 *  @param Progress 进度的回调
 *  @param Fail     请求错误的回调
 */
- (void)startRequestWithSuccess:(JQResponseSuccess)Success progress:(JQProgress)Progress failure:(JQResponseFail)Fail;
/**
 *  上传文件
 *
 *  @param Success  成功的回调
 *  @param Progress 进度的回调
 *  @param Fail     请求错误的
 */
- (void)uploadfileWithSuccess:(JQResponseSuccess)Success progress:(JQProgress)Progress failure:(JQResponseFail)Fail;
/**
 *  下载文件
 *
 *  @param Success  成功的回调
 *  @param Progress 进度的回调
 *  @param Fail     请求错误的
 *  @return 返回NSURLSessionDownloadTask实例,可用于暂停继续,暂停调用suspend方法,重新开启下载调用resume方法
 */
- (NSURLSessionDownloadTask *)downloadWithSuccess:(JQFileSuccess)Success progress:(JQProgress)Progress failure:(JQResponseFail)Fail;

Note

JQHttpRequest

progress:^(NSProgress *progress)不能为nil,因为AFN的默认参数是 _Nonnull 修饰的!

  • 正确姿势:

JQHttpRequest

Other

JQTumblrHud-高仿Tumblr App 加载指示器hud

JQScrollNumberLabel:仿tumblr热度滚动数字条数

TumblrLikeAnimView-仿Tumblr点赞动画效果

JQMenuPopView-仿Tumblr弹出视图发音频、视频、图片、文字的视图

Star

CSDN博客

iOS开发者交流群:446310206 喜欢就❤️❤️❤️star一下吧!你的支持是我更新的动力! Love is every every every star! Your support is my renewed motivation!

License

This code is distributed under the terms and conditions of the MIT license.

Latest podspec

{
    "name": "JQHttpRequest",
    "version": "0.0.5",
    "summary": "This library is based on AFNetworking3.1's Get, Post, Put, Delete, and two encapsulated Network Libraries",
    "homepage": "https://github.com/xiaohange/JQHttpRequest",
    "license": {
        "type": "MIT",
        "file": "LICENSE"
    },
    "authors": {
        "u97e9u4fcau5f3a": "[email protected]"
    },
    "platforms": {
        "ios": "7.0"
    },
    "source": {
        "git": "https://github.com/xiaohange/JQHttpRequest.git",
        "tag": "0.0.5"
    },
    "source_files": "JQHttpRequest/**/*.{h,m}",
    "public_header_files": "JQHttpRequest/**/*.h",
    "dependencies": {
        "AFNetworking": [],
        "EGOCache": []
    },
    "requires_arc": true
}

Pin It on Pinterest

Share This