class YJAFNHelperManager: NSObject {
/**
post请求 不处理code值
- parameter urlString: 请求的url
- parameter parameters: 请求的参数
- parameter success: 请求成功回调
- parameter failure: 请求失败回调
*/
class func post(urlString:String,parameters:AnyObject?,success:((responseObject:AnyObject) -> Void)?,failure:((error:NSError) -> Void)?) -> Void {
// 判断网络
// 参考上面博客
if YJNetWorkManager.JudgeNetWork() == false {
MBProgressHUD.showSimpleTextOnlyHUD(kNetWorkingCloseText, time: 1)
return
}
let sessionConfiguration = NSURLSessionConfiguration.defaultSessionConfiguration()
let manager = AFHTTPSessionManager.init(sessionConfiguration: sessionConfiguration)
manager.securityPolicy.allowInvalidCertificates = false
manager.responseSerializer.acceptableContentTypes = NSSet.init(objects: "application/json","text/json","text/javascript","text/html", "text/plain") as! Set<String>
// 请求url 判断拼接
var tempUrlString:String = "\(kServerUrlNew)" + urlString + "?"
if parameters == nil {
tempUrlString = "\(kServerUrlNew)" + urlString
}
// 设置请求
manager.POST(tempUrlString, parameters: parameters, success: { (task, responseObject:AnyObject!) in
//如果responseObject不为空时
if responseObject != nil {
success!(responseObject:responseObject)
}
}) { (task, error) in
failure!(error:error)
}
}
/**
post请求 判断网络,处理code=1的数据
- parameter urlString: 请求的url
- parameter parameters: 请求的参数
- parameter success: 请求成功回调
- parameter failure: 请求失败回调
*/
class func postWithCode(urlString:String, parameters:AnyObject?, success:((code:AnyObject ,data:AnyObject) ->Void)?, failure:(error:NSError) -> Void?) {
self.post(urlString, parameters: parameters, success: { (responseObject) -> Void in
let dictionary = responseObject as! NSDictionary
let code = dictionary.objectForKey("code") as! Int
let message = dictionary.objectForKey("msg") as! String
if code == 1 {
// 返回成功的数据(responseObject)
success!(code:code, data:responseObject)
} else {
// 返回错误代码和错误信息
success!(code:code, data:message)
}
}) { (error) -> Void in
failure(error: error)
}
}
}
Swift---AFNetworking封装
最新推荐文章于 2022-04-13 16:46:00 发布