| | |
| | | } |
| | | |
| | | func append(key: String,value: String?) -> ParamsAppender { |
| | | // if value?.isEmpty ?? true || value == "" { return self } |
| | | if value?.isEmpty ?? true || value == "" { return self } |
| | | params += ["\(key)":"\(value ?? "")"] |
| | | return self |
| | | } |
| | |
| | | func done() -> Parameters { |
| | | return self.params |
| | | } |
| | | |
| | | |
| | | class func build(url: String) -> ParamsAppender { |
| | | return ParamsAppender(url: url) |
| | | } |
| | |
| | | newEncoding = method == .post ? URLEncoding.httpBody : URLEncoding.queryString |
| | | } |
| | | |
| | | sharedSessionManager.request(params.url.absoluteString, method: method, parameters:params.done(), encoding: newEncoding, headers:headers).validate().responseData{response in |
| | | sharedSessionManager.request(params.url.absoluteString, method: method, parameters:params.done(), encoding: newEncoding, headers:headers).validate().responseData{response in |
| | | LogInfo("请求地址:\(params.url)") |
| | | LogInfo("请求参数:\(params.params)") |
| | | hud?.hide(animated: true) |
| | |
| | | return Disposables.create{} |
| | | } |
| | | } |
| | | |
| | | |
| | | class func requestMap<T: HandyJSON>(params: ParamsAppender, method: HTTPMethod, encoding: ParameterEncoding? = nil, progress: Bool = true) -> Observable<T>{ |
| | | return Observable<T>.create{ ob in |
| | | var hud: MBProgressHUD? |
| | | if progress { |
| | | hud = MBProgressHUD.showAdded(to: screnDelegate!.window!, animated: true) |
| | | hud?.bezelView.style = .solidColor |
| | | hud?.contentColor = .white |
| | | hud?.bezelView.backgroundColor = #colorLiteral(red: 0, green: 0, blue: 0, alpha: 0.8) |
| | | hud?.bezelView.color = #colorLiteral(red: 0, green: 0, blue: 0, alpha: 0.8) |
| | | hud?.removeFromSuperViewOnHide = true |
| | | } |
| | | var newEncoding: ParameterEncoding |
| | | if encoding != nil { |
| | | newEncoding = encoding! |
| | | } else { |
| | | newEncoding = method == .post ? URLEncoding.httpBody : URLEncoding.queryString |
| | | } |
| | | |
| | | sharedSessionManager.request(params.url.absoluteString, method: method, parameters:params.done(), encoding: newEncoding).validate().responseData{response in |
| | | LogInfo("请求地址:\(params.url)") |
| | | LogInfo("请求参数:\(params.params)") |
| | | hud?.hide(animated: true) |
| | | if response.error != nil { |
| | | LogError("\(response.error!)") |
| | | alert(msg: response.error!.localizedDescription) |
| | | ob.onError(response.error!) |
| | | }else if let data = response.data,let jsonString = String(data: data, encoding: String.Encoding.utf8){ |
| | | if let next = T.deserialize(from: jsonString){ |
| | | LogInfo("返回数据:\(next.toJSON())") |
| | | ob.onNext(next) |
| | | }else{ |
| | | alert(msg: "数据解析失败") |
| | | ob.onError(NetRequestError.Other) |
| | | } |
| | | }else{ |
| | | alert(msg: "解析失败") |
| | | ob.onError(NetRequestError.Other) |
| | | } |
| | | ob.onCompleted() |
| | | } |
| | | return Disposables.create{} |
| | | } |
| | | } |
| | | |
| | | class func requestData(params: ParamsAppender, method: HTTPMethod, encoding: ParameterEncoding? = nil, progress: Bool = true) -> Observable<Data>{ |
| | | return Observable<Data>.create{ ob in |
| | | var hud: MBProgressHUD? |