swift网络框架配置(三)
1.WMGetApiManager(get请求)
import UIKit
import Moya
enum WMGetApiManager {
//获取配置
case appConfig
//获取app信息
case getAppInfo(phone: String)
}
extension WMGetApiManager: TargetType {
var baseURL: URL {
switch self {
case .appConfig,
.getAppInfo:
return URL(string: "https://www.baidu.com/1")!
}
}
var headers: [String : String]? {
let header = [
"Content-Type": "application/x-www-form-urlencoded"
]
return header
}
var method: Moya.Method {
return .get
}
var path: String {
switch self {
case .appConfig:
return "/getappconfig"
case let .getAppInfo(phone):
return "/getAppInfo?phone=\(phone)"
}
}
var task: Moya.Task {
let params = [String: Any]()
return .requestParameters(parameters: params, encoding: URLEncoding.default)
}
}
2.调用
func netWorkRequestAppInfo(phone: String) {
let api = WMGetApiManager.getAppInfo(phone: phone)
VToast.showLoading()
Network.request(api, dataType: Model.self, showErrorMsg: true).do(onSuccess: { [weak self] (data) in
//返回数据
}, onError: { error in
VToast.showToast(msg: (error as? APIError)?.message)
}, onDispose: {
VToast.hideLoading()
}).subscribe().disposed(by: disposeBag)
}

浙公网安备 33010602011771号