//
網絡請求方式枚舉(case 首字母大寫)
enum
SHNetworkToolsType:
String
{
case GET = "GET"
case POST = "POST"
case GET = "GET"
case POST = "POST"
}
//創建類SHNetworkTools 繼承自AFN第三方框架的AFHTTPSessionManager類
class
SHNetworkTools:
AFHTTPSessionManager
{
// 全局訪問點
static let sharedTools: SHNetworkTools = {
let tools = SHNetworkTools()
// 全局訪問點
static let sharedTools: SHNetworkTools = {
let tools = SHNetworkTools()
//
指定反序列化格式
tools.responseSerializer.acceptableContentTypes?.insert("text/plain”,"application/json",
"text/json",
"text/javascript","text/html")
return
tools
}()
// 網絡請求支持get和post請求公共方法
/// 請求公共方法
///
/// - parameter type: 請求方式
/// - parameter urlString: 請求url
/// - parameter parameters: 請求參數
/// - parameter success: 成功的閉包
/// - parameter failure: 失敗的閉包
func request(type: SHNetworkToolsType, urlString: String, parameters: AnyObject?, success: (response: AnyObject?)->(), failure: (error: NSError)->()){
// get請求
if type == .GET {
GET(urlString, parameters: parameters, progress: nil, success: { (_, res) -> Void in
success(response: res)
}, failure: { (_, err) -> Void in
failure(error: err)
})
}else {
// post 請求
POST(urlString, parameters: parameters, progress: nil, success: { (_, res) -> Void in
success(response: res)
}, failure: { (_, err) -> Void in
failure(error: err)
})
}
}
}()
// 網絡請求支持get和post請求公共方法
/// 請求公共方法
///
/// - parameter type: 請求方式
/// - parameter urlString: 請求url
/// - parameter parameters: 請求參數
/// - parameter success: 成功的閉包
/// - parameter failure: 失敗的閉包
func request(type: SHNetworkToolsType, urlString: String, parameters: AnyObject?, success: (response: AnyObject?)->(), failure: (error: NSError)->()){
// get請求
if type == .GET {
GET(urlString, parameters: parameters, progress: nil, success: { (_, res) -> Void in
success(response: res)
}, failure: { (_, err) -> Void in
failure(error: err)
})
}else {
// post 請求
POST(urlString, parameters: parameters, progress: nil, success: { (_, res) -> Void in
success(response: res)
}, failure: { (_, err) -> Void in
failure(error: err)
})
}
}
}