電子發(fā)燒友App

硬聲App

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
电子发烧友
开通电子发烧友VIP会员 尊享10大特权
海量资料免费下载
精品直播免费看
优质内容免费畅学
课程9折专享价
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示
創(chuàng)作
電子發(fā)燒友網(wǎng)>電子資料下載>電子資料>KJNetworkPluginManager插件版網(wǎng)絡(luò)請求庫

KJNetworkPluginManager插件版網(wǎng)絡(luò)請求庫

2022-06-23 | zip | 1.45 MB | 次下載 | 免費(fèi)

資料介紹

授權(quán)協(xié)議 MIT
開發(fā)語言 Objective-C
軟件類型 開源軟件
所屬分類 iOS代碼庫、 網(wǎng)絡(luò)(Networking)

軟件簡介

KJNetworkPlugin?是一款基于面向協(xié)議的網(wǎng)絡(luò)抽象層的插件版網(wǎng)絡(luò)請求庫,基于AFNetworking的基礎(chǔ)上再次封裝使用。

  • 熟悉swift的朋友應(yīng)該都知道一款優(yōu)秀的三方庫Moya,插件版網(wǎng)絡(luò)請求是真香,于是乎借鑒思路制作一款純oc版本的插件網(wǎng)絡(luò)請求庫
  • 熟悉oc的朋友又應(yīng)該都知道一款優(yōu)秀的三方庫YTKNetwork,基于對象的協(xié)議版網(wǎng)絡(luò)請求,然后他的批量網(wǎng)絡(luò)請求和鏈?zhǔn)骄W(wǎng)絡(luò)請求也超級香
  • 結(jié)合一下兩者優(yōu)點(diǎn),制作一款批量鏈?zhǔn)?/code>插件版網(wǎng)絡(luò)請求庫
  • 目前整理九款插件:解析插件,緩存插件,配置自建證書插件,加載提示插件,修改請求插件,日志抓包插件,錯誤碼插件,刷新插件,網(wǎng)絡(luò)錯誤和空數(shù)據(jù)插件

功能清單

插件版網(wǎng)絡(luò)請求可以更方便快捷的定制專屬網(wǎng)絡(luò)請求,并且支持批量操作,鏈?zhǔn)讲僮?/p>

主要功能清單如下:

  • 支持基本的網(wǎng)絡(luò)請求,下載上傳文件
  • 支持配置通用請求跟路徑,通用參數(shù)
  • 支持設(shè)置加載和提示框插件
  • 支持解析結(jié)果插件
  • 支持網(wǎng)絡(luò)緩存插件
  • 支持配置自建證書插件
  • 支持修改請求體和獲取響應(yīng)結(jié)果插件
  • 支持網(wǎng)絡(luò)日志抓包插件
  • 支持刷新加載更多插件
  • 支持錯誤碼解析插件
  • 支持錯誤和空數(shù)據(jù)UI展示插件
  • 支持批量操作
  • 支持鏈?zhǔn)骄W(wǎng)絡(luò)請求

使用教程

模塊組成

簡單講應(yīng)該分為這么幾大板塊:

  • Chain:鏈?zhǔn)讲寮婢W(wǎng)絡(luò)請求
  • Batch:批量插件版網(wǎng)絡(luò)請求
  • Network:插件管理器和網(wǎng)絡(luò)請求基類
  • Plugins:插件集合,目前已有5款插件供使用 ? - Loading:加載錯誤提示插件 ? - Anslysis:數(shù)據(jù)解析插件 ? - Cache:緩存插件 ? - Certificate:自建證書插件 ? - Thief:修改器插件 ? - Capture:網(wǎng)絡(luò)日志抓包插件 ? - Code:錯誤碼插件 ? - Refresh:刷新插件 ? - Empty:網(wǎng)絡(luò)錯誤和空數(shù)據(jù)UI插件

Network版塊

  • KJBaseNetworking:網(wǎng)絡(luò)請求基類,基于 AFNetworking 封裝使用
  • 這里也提供兩個入口,設(shè)置通用的根路徑和通用參數(shù),類似:userID,token等
/// 根路徑地址
@property (nonatomic, strong, class) NSString *baseURL;
/// 基本參數(shù),類似:userID,token等
@property (nonatomic, strong, class) NSDictionary *baseParameters;

  • 封裝的有基本的網(wǎng)絡(luò)請求,上傳下載文件等方法
  • KJNetworkingRequest:請求體,設(shè)置網(wǎng)絡(luò)請求相關(guān)參數(shù),其中包含參數(shù),請求方式,插件等等
  • KJNetworkingResponse:響應(yīng)請求結(jié)果,獲取插件之間產(chǎn)生的數(shù)據(jù)等等
  • KJNetworkingType:匯總所有枚舉和回調(diào)聲明
  • KJNetworkBasePlugin:插件基類,插件父類
  • KJNetworkPluginManager:插件管理器,中樞神經(jīng)
/// 插件版網(wǎng)絡(luò)請求
/// @param request 請求體
/// @param success 成功回調(diào)
/// @param failure 失敗回調(diào)
+ (void)HTTPPluginRequest:(KJNetworkingRequest *)request success:(KJNetworkPluginSuccess)success failure:(KJNetworkPluginFailure)failure;

  • 目前抽離出以下5條協(xié)議方法,其中大致分為開始時刻、網(wǎng)絡(luò)請求時刻、網(wǎng)絡(luò)成功、網(wǎng)絡(luò)失敗、最終返回
/// 開始準(zhǔn)備網(wǎng)絡(luò)請求
/// @param request 請求相關(guān)數(shù)據(jù)
/// @param endRequest 是否結(jié)束下面的網(wǎng)絡(luò)請求
/// @return 返回準(zhǔn)備插件處理后的數(shù)據(jù)
- (KJNetworkingResponse *)prepareWithRequest:(KJNetworkingRequest *)request endRequest:(BOOL *)endRequest;

/// 網(wǎng)絡(luò)請求開始時刻請求
/// @param request 請求相關(guān)數(shù)據(jù)
/// @param stopRequest 是否停止網(wǎng)絡(luò)請求
/// @return 返回網(wǎng)絡(luò)請求開始時刻插件處理后的數(shù)據(jù)
- (KJNetworkingResponse *)willSendWithRequest:(KJNetworkingRequest *)request stopRequest:(BOOL *)stopRequest;

/// 成功接收數(shù)據(jù)
/// @param request 請求相關(guān)數(shù)據(jù)
/// @param againRequest 是否需要再次請求該網(wǎng)絡(luò)
/// @return 返回成功插件處理后的數(shù)據(jù)
- (KJNetworkingResponse *)succeedWithRequest:(KJNetworkingRequest *)request againRequest:(BOOL *)againRequest;

/// 失敗處理
/// @param request 請求相關(guān)數(shù)據(jù)
/// @param againRequest 是否需要再次請求該網(wǎng)絡(luò)
/// @return 返回失敗插件處理后的數(shù)據(jù)
- (KJNetworkingResponse *)failureWithRequest:(KJNetworkingRequest *)request againRequest:(BOOL *)againRequest;

/// 準(zhǔn)備返回給業(yè)務(wù)邏輯時刻調(diào)用
/// @param request 請求相關(guān)數(shù)據(jù)
/// @param error 錯誤信息
/// @return 返回最終加工之后的數(shù)據(jù)
- (KJNetworkingResponse *)processSuccessResponseWithRequest:(KJNetworkingRequest *)request error:(NSError **)error;

Plugins插件集合

目前已有9款插件供使用:

Chain鏈?zhǔn)讲寮W(wǎng)絡(luò)

Batch批量插件網(wǎng)絡(luò)

關(guān)于作者

  • ?

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

下載該資料的人也在下載 下載該資料的人還在閱讀
更多 >

評論

请按住滑块,拖动到最右边
了解新功能

查看更多

广告

下載排行

本周

  1. 1第十一屆 藍(lán)橋杯 單片機(jī)設(shè)計與開發(fā)項目 省賽 程序設(shè)計試題及源碼
  2. 90.88KB   |  23次下載  |  3 積分
  3. 2輕松解碼串口通信
  4. 509.30 KB  |  3次下載  |  免費(fèi)
  5. 3STM32F103C8T6開發(fā)板最小系統(tǒng)原理圖
  6. 0.78 MB   |  1次下載  |  免費(fèi)
  7. 4LT8822SS共漏N溝道增強(qiáng)型場效應(yīng)晶體管規(guī)格書
  8. 1.22 MB   |  1次下載  |  免費(fèi)
  9. 5ACDC茂睿芯MK2687寬供電范圍高效率反激 PWM 控制器
  10. 2.28 MB  |  1次下載  |  免費(fèi)
  11. 6LTS3002FJI N溝道增強(qiáng)型功率MOSFET規(guī)格書
  12. 1.30 MB   |  次下載  |  免費(fèi)
  13. 7ESD保護(hù)器件ESD0504TL規(guī)格書
  14. 2.97 MB   |  次下載  |  免費(fèi)
  15. 8ESD保護(hù)器件GBLCxxCI系列規(guī)格書
  16. 2.85 MB   |  次下載  |  免費(fèi)

本月

  1. 1STM32開發(fā)板教程之STM32開發(fā)指南免費(fèi)下載
  2. 24.88 MB   |  177次下載  |  3 積分
  3. 2EN60335-1安規(guī)標(biāo)準(zhǔn) 中文版本
  4. 1.86 MB   |  53次下載  |  1 積分
  5. 3DeepSeek從入門到精通
  6. 5.07 MB   |  38次下載  |  免費(fèi)
  7. 4第十一屆 藍(lán)橋杯 單片機(jī)設(shè)計與開發(fā)項目 省賽 程序設(shè)計試題及源碼
  8. 90.88KB   |  23次下載  |  3 積分
  9. 5NR-E531TX-XN冰箱說明書
  10. 8.64 MB   |  19次下載  |  免費(fèi)
  11. 6STM32單片機(jī)無人機(jī)設(shè)計
  12. 8.81 MB   |  10次下載  |  免費(fèi)
  13. 7華為硬件工程師手冊目前最全版本
  14. 1.02 MB   |  8次下載  |  2 積分
  15. 8MAX9295電路圖
  16. 0.14 MB   |  6次下載  |  免費(fèi)

總榜

  1. 1matlab軟件下載入口
  2. 未知  |  935126次下載  |  10 積分
  3. 2開源硬件-PMP21529.1-4 開關(guān)降壓/升壓雙向直流/直流轉(zhuǎn)換器 PCB layout 設(shè)計
  4. 1.48MB  |  420063次下載  |  10 積分
  5. 3Altium DXP2002下載入口
  6. 未知  |  233088次下載  |  10 積分
  7. 4電路仿真軟件multisim 10.0免費(fèi)下載
  8. 340992  |  191377次下載  |  10 積分
  9. 5十天學(xué)會AVR單片機(jī)與C語言視頻教程 下載
  10. 158M  |  183336次下載  |  10 積分
  11. 6labview8.5下載
  12. 未知  |  81584次下載  |  10 積分
  13. 7Keil工具M(jìn)DK-Arm免費(fèi)下載
  14. 0.02 MB  |  73814次下載  |  10 積分
  15. 8LabVIEW 8.6下載
  16. 未知  |  65988次下載  |  10 積分