An open API service indexing awesome lists of open source software.

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统一处理

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
}
}