iOS開發(fā)-網(wǎng)絡框架

網(wǎng)絡框架(以下稱NJAFNetworking)是基于AFNetworking框架的簡單封裝,基本功能包括POST請求,GET請求,上傳文件,下載文件,網(wǎng)絡狀態(tài),緩存等。

為什么要使用NJAFNetworking?

在使用AFNetworking的時候我們會發(fā)現(xiàn)對外開發(fā)接口比較多,當項目需求涉及到緩存,以及網(wǎng)絡判斷的時候,我們都無從下手。然NJAFNetworking框架將這些過多的開發(fā)接口封裝到一起,讓我們使用起來更為方便。

  • 優(yōu)點:
    • 網(wǎng)絡狀態(tài)已經(jīng)封裝,在通過GET/POST請求會回調;
    • 緩存已經(jīng)封裝,當GET/POST請求失敗后會回調;
    • 開發(fā)接口少,只需調用相應功能功能的接口即可。

NJAFNetworking究竟是什么?

  • 配置公共的請求頭(可以不配置)
    /**
    * 配置公共的請求頭,用于區(qū)分請求來源,需要與服務器約定好
    * @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 需要傳的參數(shù),如@{@"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 需要傳的參數(shù),如@{@"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 約定關聯(lián)名稱,如image
    * @param mimeType 默認iamge/jpeg
    * @param parameters 需要傳的參數(shù),如@{@"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?

結束。


你們的支持也是我前進的動力,非常感謝支持!

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯(lián)系作者
【社區(qū)內容提示】社區(qū)部分內容疑似由AI輔助生成,瀏覽時請結合常識與多方信息審慎甄別。
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發(fā)布,文章內容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關閱讀更多精彩內容

友情鏈接更多精彩內容