https://github.com/mancongios/mcnetwork
封装的网络请求
https://github.com/mancongios/mcnetwork
Last synced: about 1 year ago
JSON representation
封装的网络请求
- Host: GitHub
- URL: https://github.com/mancongios/mcnetwork
- Owner: mancongiOS
- Created: 2018-07-17T09:37:15.000Z (almost 8 years ago)
- Default Branch: master
- Last Pushed: 2018-07-17T10:20:25.000Z (almost 8 years ago)
- Last Synced: 2025-02-05T17:41:45.189Z (over 1 year ago)
- Language: Swift
- Size: 120 KB
- Stars: 2
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# MCNetwork
封装的网络请求
### 一. 代码下载地址
[代码地址](https://github.com/mancongiOS/MCNetwork.git)
### 二. MCNetwork说明
* 集成了Alamofire和SwiftyJSON。请自行下载。
* 对错误的处理
```
enum MCError {
case codeError(T) // 异常的结果处理
case networkNull // 网络异常 没访问到服务器
case networkBadReturn // 异常的数据结构
}
```
* 调用方法的说明
```
public static func POST(_ url: String!, _ params:[String:Any]? = [String:Any](), _ queue:DispatchQueue? = nil,success: @escaping Success, failure: Failure>? = nil) -> DataRequest { }
```
大部分情况下,只需要处理,理想返回的状态数据。所以单独用一个success闭包,传递出来JSON对象,外部不再需要考虑条件,直接处理数据即可。
有一些情况下需要处理,错误的服务器code返回情况,比如登录异常。把它集成在MCError这个枚举中。codeError这个case对应的是一个结构体,有两个属性code,和message
### 三. 使用
```
let url = ""
let params = [ "":""]
// 只处理成功的网络请求
MCNetwork.POST(url,params,success: { (data) in
// data为JSON类型。 注意SwiftyJSON的使用
})
// 处理非成功的网络请求。
MCNetwork.POST(url, ["":""], nil, success: { (data) in
}) { (error) in
switch error {
case .codeError(let codeError):
weakSelf?.showLabel.text = "\(codeError.message) + \(codeError.code)"
case .networkNull:
weakSelf?.showLabel.text = "networkNull"
case .wrongReturn:
weakSelf?.showLabel.text = "wrongReturn"
}
}
// GET请求
MCNetwork.GET(url, params, nil, success: { (data) in
}) { (error) in
}
```