//
// PSNetWorkManage.swift
// WeiBoSwift
//
// Created by 思 彭 on 16/9/25.
// Copyright © 2016年 思 彭. All rights reserved.
//
import UIKit
import AFNetworking
// Swift的枚举支持任意数据类型,不需要,分隔
enum PSHTTPMethod{
case GET
case POST
}
/// 网络管理工具
class PSNetWorkManage: AFHTTPSessionManager {
// 单例
static let shared = PSNetWorkManage()
// MARK:- get请求
func getWithPath(path: String,paras: Dictionary<String,Any>?,success: @escaping ((\_ result: Any) -> ()),failure: @escaping ((\_ error: Error) -> ())) {
var i =
var address = path
if let paras = paras {
for (key,value) in paras {
if i == {
address += "?\\(key)=\\(value)"
}else {
address += "&\\(key)=\\(value)"
}
i +=
}
}
let url = URL(string: address.addingPercentEncoding(withAllowedCharacters: CharacterSet.urlQueryAllowed)!)
let session = URLSession.shared
let dataTask = session.dataTask(with: url!) { (data, respond, error) in
if let data = data {
if let result = try? JSONSerialization.jsonObject(with: data, options: .allowFragments){
success(result)
}
}else {
failure(error!)
}
}
dataTask.resume()
}
// MARK:- post请求
func postWithPath(path: String,paras: Dictionary<String,Any>?,success: @escaping ((\_ result: Any) -> ()),failure: @escaping ((\_ error: Error) -> ())) {
var i =
var address: String = ""
if let paras = paras {
for (key,value) in paras {
if i == {
address += "\\(key)=\\(value)"
}else {
address += "&\\(key)=\\(value)"
}
i +=
}
}
let url = URL(string: path)
var request = URLRequest.init(url: url!)
request.httpMethod = "POST"
print(address)
request.httpBody = address.data(using: .utf8)
let session = URLSession.shared
let dataTask = session.dataTask(with: request) { (data, respond, error) in
if let data = data {
if let result = try? JSONSerialization.jsonObject(with: data, options: .allowFragments) {
success(result)
}
}else {
failure(error!)
}
}
dataTask.resume()
}
}
手机扫一扫
移动阅读更方便
你可能感兴趣的文章