網絡框架(如下稱NJAFNetworking)是基於AFNetworking框架的簡單封裝,基本功能包括POST請求,GET請求,上傳文件,下載文件,網絡狀態,緩存等。php
在使用AFNetworking的時候咱們會發現對外開發接口比較多,當項目需求涉及到緩存,以及網絡判斷的時候,咱們都無從下手。然NJAFNetworking框架將這些過多的開發接口封裝到一塊兒,讓咱們使用起來更爲方便。css
配置公共的請求頭(能夠不配置)git
/** * 配置公共的請求頭,用於區分請求來源,須要與服務器約定好 * @param httpHeaders 如@{"client" : "iOS"} */ + (void)configCommonHttpHeaders:(NSDictionary *)httpHeaders;
更新請求接口基礎url(若是服務器地址有多個,能夠不配置)github
/** * 更新請求接口基礎url(若是服務器地址有多個) * @param baseUrl 請求接口基礎url */ + (void)updateBaseUrl:(NSString *)baseUrl;
/**
* 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請求接口
* @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支持CocoaPods(CocoaPods是什麼?)
寫在Podfile文件中,緩存
source 'https://github.com/CocoaPods/Specs.git' inhibit_all_warnings! target "這裏寫你的工程名字" do pod 'NJAFNetworking', '~> 1.0.1' end
下載NJAFNetworking(下載地址)
下載完後將NJAFNetworking文件夾拖入工程中便可。bash