资料介绍
软件简介
KJNetworkPlugin 是一款基于面向协议的网络抽象层的插件版网络请求库,基于AFNetworking的基础上再次封装使用。
- 熟悉swift的朋友应该都知道一款优秀的三方库Moya,插件版网络请求是真香,于是乎借鉴思路制作一款纯oc版本的插件网络请求库
- 熟悉oc的朋友又应该都知道一款优秀的三方库YTKNetwork,基于对象的协议版网络请求,然后他的批量网络请求和链式网络请求也超级香
-
结合一下两者优点,制作一款
批量和链式插件版网络请求库 - 目前整理九款插件:解析插件,缓存插件,配置自建证书插件,加载提示插件,修改请求插件,日志抓包插件,错误码插件,刷新插件,网络错误和空数据插件
功能清单
插件版网络请求可以更方便快捷的定制专属网络请求,并且支持批量操作,链式操作
主要功能清单如下:
- 支持基本的网络请求,下载上传文件
- 支持配置通用请求跟路径,通用参数等
- 支持设置加载和提示框插件
- 支持解析结果插件
- 支持网络缓存插件
- 支持配置自建证书插件
- 支持修改请求体和获取响应结果插件
- 支持网络日志抓包插件
- 支持刷新加载更多插件
- 支持错误码解析插件
- 支持错误和空数据UI展示插件
- 支持批量操作
- 支持链式网络请求
使用教程
模块组成
简单讲应该分为这么几大板块:
- Chain:链式插件版网络请求
- Batch:批量插件版网络请求
- Network:插件管理器和网络请求基类
- Plugins:插件集合,目前已有5款插件供使用 - Loading:加载错误提示插件 - Anslysis:数据解析插件 - Cache:缓存插件 - Certificate:自建证书插件 - Thief:修改器插件 - Capture:网络日志抓包插件 - Code:错误码插件 - Refresh:刷新插件 - Empty:网络错误和空数据UI插件
Network版块
- KJBaseNetworking:网络请求基类,基于 AFNetworking 封装使用
- 这里也提供两个入口,设置通用的根路径和通用参数,类似:userID,token等
/// 根路径地址
@property (nonatomic, strong, class) NSString *baseURL;
/// 基本参数,类似:userID,token等
@property (nonatomic, strong, class) NSDictionary *baseParameters;
- 封装的有基本的网络请求,上传下载文件等方法
- KJNetworkingRequest:请求体,设置网络请求相关参数,其中包含参数,请求方式,插件等等
- KJNetworkingResponse:响应请求结果,获取插件之间产生的数据等等
- KJNetworkingType:汇总所有枚举和回调声明
- KJNetworkBasePlugin:插件基类,插件父类
- KJNetworkPluginManager:插件管理器,中枢神经
/// 插件版网络请求
/// @param request 请求体
/// @param success 成功回调
/// @param failure 失败回调
+ (void)HTTPPluginRequest:(KJNetworkingRequest *)request success:(KJNetworkPluginSuccess)success failure:(KJNetworkPluginFailure)failure;
- 目前抽离出以下5条协议方法,其中大致分为开始时刻、网络请求时刻、网络成功、网络失败、最终返回
/// 开始准备网络请求
/// @param request 请求相关数据
/// @param endRequest 是否结束下面的网络请求
/// @return 返回准备插件处理后的数据
- (KJNetworkingResponse *)prepareWithRequest:(KJNetworkingRequest *)request endRequest:(BOOL *)endRequest;
/// 网络请求开始时刻请求
/// @param request 请求相关数据
/// @param stopRequest 是否停止网络请求
/// @return 返回网络请求开始时刻插件处理后的数据
- (KJNetworkingResponse *)willSendWithRequest:(KJNetworkingRequest *)request stopRequest:(BOOL *)stopRequest;
/// 成功接收数据
/// @param request 请求相关数据
/// @param againRequest 是否需要再次请求该网络
/// @return 返回成功插件处理后的数据
- (KJNetworkingResponse *)succeedWithRequest:(KJNetworkingRequest *)request againRequest:(BOOL *)againRequest;
/// 失败处理
/// @param request 请求相关数据
/// @param againRequest 是否需要再次请求该网络
/// @return 返回失败插件处理后的数据
- (KJNetworkingResponse *)failureWithRequest:(KJNetworkingRequest *)request againRequest:(BOOL *)againRequest;
/// 准备返回给业务逻辑时刻调用
/// @param request 请求相关数据
/// @param error 错误信息
/// @return 返回最终加工之后的数据
- (KJNetworkingResponse *)processSuccessResponseWithRequest:(KJNetworkingRequest *)request error:(NSError **)error;
Plugins插件集合
目前已有9款插件供使用:
-
KJNetworkLoadingPlugin:基于MBProgressHUD封装的加载框和错误提示框插件
-
KJNetworkAnslysisPlugin:基于MJExtension封装的解析数据插件
-
KJNetworkCachePlugin:基于YYCache封装的网络缓存插件
-
KJNetworkCertificatePlugin:配置自建证书插件
-
KJNetworkThiefPlugin:修改
KJNetworkingRequest和获取KJNetworkingResponse插件 -
KJNetworkCapturePlugin:网络日志抓包插件
-
KJNetworkCodePlugin:错误码解析插件
-
KJNetworkRefreshPlugin:刷新加载更多插件
-
KJNetworkEmptyPlugin:错误信息和空数据UI展示插件
Chain链式插件网络
Batch批量插件网络
关于作者
- KICAD插件使用说明书 8次下载
- TYPE C24PIN双排插件原理图 30次下载
- 12*12插件触控开关原理图 4次下载
- 4.5*4.5插件触控开关原理图 9次下载
- 将置信规则库分级优化的网络安全态势预测方法 11次下载
- Altium的常用接插件3D封装库资料合集免费下载 0次下载
- Altium designer 3D插件电容专用元件库免费下载 322次下载
- MPLAB代码配置器的LoRaWAN库插件详细中文数据手册免费下载
- Altium Designer常用接插件原理图库和pcb库 0次下载
- 优化安卓应用3G/4G网络请求能耗的方法 0次下载
- 以APP为起点构建网络请求架构 0次下载
- 以APP为起点构建网络请求架构 0次下载
- Android开发的各大网络请求库实际案例 4次下载
- Altium-常用3D封装库(Step)【接插件篇】 (1) 0次下载
- 基于插件的网络安全评估系统设计 24次下载
- Kubernetes的CNI网络插件之flannel 228次阅读
- 鸿蒙OS开发实例:【窥探网络请求】 818次阅读
- 如何使用Proxyman抓取Android的https请求? 2420次阅读
- 幂等和非幂等请求的一些定义和分析 851次阅读
- 高并发场景下请求合并 411次阅读
- Rust构建QEMU插件的框架 934次阅读
- 基于Nginx配置origin限制跨域请求 1393次阅读
- 使用可计算SSD加速云原生数据库 798次阅读
- 如何使用 ESP-AT实现HTTP请求 1294次阅读
- 干货:如何构建一个JavaScript插件系统(附源码) 3094次阅读
- Python如何爬取实时变化的WebSocket数据 3598次阅读
- IO请求在block layer的来龙去脉 8403次阅读
- NVIDIA深度神经网络加速库cuDNN软件安装教程 2288次阅读
- jquery插件有哪些_jquery插件大全(241个jquery插件) 1.2w次阅读
- jquery插件写法及用法(jQuery插件开发全解析) 1w次阅读
下载排行
本周
- 1NB-IoT芯片厂商的资料说明
- 0.31 MB | 22次下载 | 1 积分
- 2智慧监狱建设的核心终端—智慧监仓屏
- 0.25 MB | 2次下载 | 免费
- 3PC318C016M/D 200V半桥栅极驱动器技术手册
- 0.77 MB | 2次下载 | 免费
- 45.0SMDJ200A单向TVS瞬态抑制二极管规格书
- 0.88 MB | 1次下载 | 免费
- 5PC318C041EQ 200V半桥栅极驱动器技术手册
- 0.50 MB | 次下载 | 免费
- 6PC318C042NM 200V半桥栅极驱动器技术手册
- 0.55 MB | 次下载 | 免费
- 7技嘉H110主板IT8628E_BX IO电路图资料
- 2.61 MB | 次下载 | 1 积分
- 8H110主板CPU PWM芯片ISL95858HRZ-T核心供电电路图资料
- 0.63 MB | 次下载 | 1 积分
本月
- 1元宇宙深度解析—未来的未来-风口还是泡沫
- 6.40 MB | 241次下载 | 免费
- 2元宇宙底层硬件系列报告
- 13.42 MB | 184次下载 | 免费
- 32022 年展望報告 – 半導體產業
- 1.43 MB | 136次下载 | 免费
- 4晶振与滤波器应用电路《电子工程师必备:元器件应用宝典》
- 1.57 MB | 90次下载 | 免费
- 5汽车电子行业深度解析:智能化与电动化方兴未艾
- 6.47 MB | 71次下载 | 免费
- 6中国DPU行业白皮书
- 23.80 MB | 37次下载 | 免费
- 7晶科鑫代理线-微盟电子2021年度产品目录选型手册
- 14.75 MB | 27次下载 | 免费
- 8NB-IoT芯片厂商的资料说明
- 0.31 MB | 22次下载 | 1 积分
总榜
- 1matlab软件下载入口
- 未知 | 935137次下载 | 10 积分
- 2开源硬件-PMP21529.1-4 开关降压/升压双向直流/直流转换器 PCB layout 设计
- 1.48MB | 420064次下载 | 10 积分
- 3Altium DXP2002下载入口
- 未知 | 233089次下载 | 10 积分
- 4电路仿真软件multisim 10.0免费下载
- 340992 | 191425次下载 | 10 积分
- 5十天学会AVR单片机与C语言视频教程 下载
- 158M | 183352次下载 | 10 积分
- 6labview8.5下载
- 未知 | 81602次下载 | 10 积分
- 7Keil工具MDK-Arm免费下载
- 0.02 MB | 73822次下载 | 10 积分
- 8LabVIEW 8.6下载
- 未知 | 65991次下载 | 10 积分
电子发烧友App






创作
发文章
发帖
提问
发资料
发视频
上传资料赚积分
评论