https://github.com/arc-lin/alnetworking
A networking framework , depends on AFNetworking
https://github.com/arc-lin/alnetworking
afnetworking cache ios mvvm mvvm-rac networking reactivecocoa
Last synced: 11 months ago
JSON representation
A networking framework , depends on AFNetworking
- Host: GitHub
- URL: https://github.com/arc-lin/alnetworking
- Owner: Arc-lin
- License: other
- Created: 2017-06-10T14:28:05.000Z (almost 9 years ago)
- Default Branch: master
- Last Pushed: 2021-06-02T03:19:31.000Z (about 5 years ago)
- Last Synced: 2025-07-08T22:04:03.989Z (11 months ago)
- Topics: afnetworking, cache, ios, mvvm, mvvm-rac, networking, reactivecocoa
- Language: Objective-C
- Homepage:
- Size: 604 KB
- Stars: 6
- Watchers: 2
- Forks: 1
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.md
- License: LICENSE
Awesome Lists containing this project
README
ALNetworking
==========


[](http://cocoadocs.org/docsets/ALNetworking)

## 这是什么
ALNetworking 是一个基于AFNetworking的网络层框架。通过它,我们可以使用链式调用的方式去构建一个网络请求。并且支持动态配置,支持插件化拓展,支持请求体和响应体的hook,支持缓存(基于`YYCache`),支持ReactiveCocoa方式的调用和普通方式调用等等,另外你也可以根据自己的需求,拓展出[`协程`](https://github.com/alibaba/coobjc)方式的调用,下文会阐述如何封装。
另外该框架也提供了json转模型和模型数组(基于`MJExtension`),你可以选择性使用,如果想改成`YYModel`或自己的方式进行转换的话,可以参照实现。
除此之外,该框架还提供了请求日志查看的功能(仅记录该框架发起的网络请求),你可以选择性使用。
## 环境要求
```
iOS 9.0 +
AFNetworking 4.0.0+
YYCache 1.0.4+
```
`RAC`拓展
```
ReactiveObjC 3.1.1+
```
`RAC_MJ`拓展
```
MJExtension 3.2.1+
```
## 安装
把下面这个东西写进你的`podfile`
```
pod 'ALNetworking/Core'
```
引入json和模型转换工具
```
pod 'ALNetworking/RAC_MJ'
```
引入网络请求日志工具
```
pod 'ALNetworking/Recorder'
```
## 文件结构
- Core/RAC
|类名|说明|
|---|---|
|ALAPIClient|封装`AFHTTPSessionManager`的类,将`AFHTTPSessionManager`单例化,解决`AFNetworking`存在的内存泄露问题|
|ALBaseNetworking|底层封装AFNetworking的类|
|ALNetworkCache|封装YYCache的类|
|ALNetworking|入口类,网络请求要发起的时候需要实例化这个类|
|ALNetworkingConfig|基础配置类|
|ALNetworkingConst|枚举和一些方便的宏定义|
|ALNetworkingRequest|请求体|
|ALNetworkingResponse|响应体|
|ALNetworkResponseSerializer|用不同的类型解析响应体|
|NSDictionary+ALNetworking|封装字典,防止穿空指针构建字典的时候崩溃|
- RAC_MJ
|类名|说明|
|---|---|
|ALBlockTrampoline|数组转block回调|
|RACSignal+ALNetworking|通过MJExtension将响应体转为模型或模型数组|
- UI
|类名|说明|
|---|---|
|ALURLRecordManager|单例,用于记录网络请求日志|
|ALURLRecordsViewController|网络请求日志列表控制器|
|ALURLRecordDetailViewController|网络请求日志详情页|
## 证书
ALNetworking 使用的是MIT证书,详情见LICENSE文件.