https://github.com/zxincrash/zxrequest
基于Moya的swift网络请求封装,设置请求头和请求体参数,返回数据用ZXBaseModel统一处理
https://github.com/zxincrash/zxrequest
afnetworking alamofire moya network request swift4
Last synced: 11 days ago
JSON representation
基于Moya的swift网络请求封装,设置请求头和请求体参数,返回数据用ZXBaseModel统一处理
- Host: GitHub
- URL: https://github.com/zxincrash/zxrequest
- Owner: zxincrash
- Created: 2017-11-14T06:48:08.000Z (over 8 years ago)
- Default Branch: master
- Last Pushed: 2018-04-12T06:25:12.000Z (about 8 years ago)
- Last Synced: 2025-03-02T04:42:19.679Z (over 1 year ago)
- Topics: afnetworking, alamofire, moya, network, request, swift4
- Language: Swift
- Homepage:
- Size: 11.8 MB
- Stars: 3
- Watchers: 1
- Forks: 1
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# ZXRequest
swift网络请求封装
ZXRequest是基于Moya网络请求的应用示例。
1.对请求参数(包括请求头和请求体)进行封装处理,使用时只需要设置对应参数即可;
2.返回数据统一在ZXBaseModel中处理
#请求接口示例(可以复制到浏览器中直接查看):
https://suggest.taobao.com/sug?q=abcdefgh
#返回的数据结构
```swift
{
"result" : [
[
"abcdefghijklmnop",
"5"
],
[
"abcdefghi",
"73"
]
]
}
#应用示例
```swift
let success:(Any?)->Void = { data in
guard data != nil else {
print("data is nil")
return
}
self.goodsArray = ZXBaseModel.goodsModelWithData(data: data)
ZXRequest.request(.query(q:goodName), success: success, error: { errorCode, errorMessage in
print("\(errorCode) : \(errorMessage)")
self.view.makeToast("\(errorMessage)")
})
#返回数据示例
```swift
class ZXBaseModel:NSObject {
/// 解析数据
///
/// - Parameter data: 网络返回的数据
/// - Returns:处理后的商品的数组
///网络返回数据的结构
// {
// "result" : [
// [
// "abcdefghijklmnop",
// "5"
// ],
// [
// "abcdefghi",
// "73"
// ]
// ]
// }
class func goodsModelWithData(data:Any) -> Array {
var dataArray:Array = Array()
if data is Dictionary>
{
let dic = data as! Dictionary>
if dic["result"] != nil
{
let goodsArray:Array = (dic["result"])!
for (index,_) in goodsArray.enumerated()
{
let model: ZXGoodsModel = ZXGoodsModel()
let goods = goodsArray[index] as! Array
for (_,_) in goods.enumerated()
{
model.goodsName = goods.first as! String
model.goodsCode = goods.last as! String
}
dataArray.append(model)
}
}
}
return dataArray
}
}