Browse Source

1.修改请求参数

wenweiwei 3 years ago
parent
commit
7e3c577925

+ 12 - 12
BFNetRequestKit/Classes/BFNetRequestAdaptor.swift

@@ -12,8 +12,8 @@ private var bf_abInfoData: [String: Any] = Dictionary<String, Any>.init() // 实
 public class BFNetRequestAdaptor: NSObject {
     public typealias completeHander = (_ jsonObject: Any?, _ extData: [String: Any]?, _ error: PQError?, _ duration: TimeInterval?) -> Void
     /// get请求
-    public class func getRequestData(url: String, parames: [String: Any]?, commonParams: [String: Any]? = nil, encoding: ParameterEncoding = URLEncoding.default, timeoutInterval: TimeInterval = 60, response: @escaping completeHander) {
-        SWNetRequest.getRequestData(url: url, parames: requestParams(encoding: encoding, parames: parames, commonParams: commonParams), encoding: encoding, timeoutInterval: timeoutInterval) { jsonObject, error, duration in
+    public class func getRequestData(url: String, parames: [String: Any]?, commonParams: [String: Any]? = nil, encoding: ParameterEncoding = URLEncoding.default,isJsonEncodingNormal:Bool = false, timeoutInterval: TimeInterval = 60, response: @escaping completeHander) {
+        SWNetRequest.getRequestData(url: url, parames: requestParams(encoding: encoding,isJsonEncodingNormal:isJsonEncodingNormal, parames: parames, commonParams: commonParams), encoding: encoding, timeoutInterval: timeoutInterval) { jsonObject, error, duration in
             if jsonObject != nil {
                 let paraseData = paraseJsonObject(respondDict: jsonObject as! [String: Any])
                 response(paraseData.0, paraseData.1, paraseData.2, duration)
@@ -24,8 +24,8 @@ public class BFNetRequestAdaptor: NSObject {
     }
 
     /// post请求
-    public class func postRequestData(url: String, parames: [String: Any]?, commonParams: [String: Any]? = nil, encoding: ParameterEncoding = URLEncoding.default, timeoutInterval: TimeInterval = 60, response: @escaping completeHander) {
-        SWNetRequest.postRequestData(url: url, parames: requestParams(encoding: encoding, parames: parames, commonParams: commonParams), encoding: encoding, timeoutInterval: timeoutInterval) { jsonObject, error, duration in
+    public class func postRequestData(url: String, parames: [String: Any]?, commonParams: [String: Any]? = nil, encoding: ParameterEncoding = URLEncoding.default,isJsonEncodingNormal:Bool = false, timeoutInterval: TimeInterval = 60, response: @escaping completeHander) {
+        SWNetRequest.postRequestData(url: url, parames: requestParams(encoding: encoding,isJsonEncodingNormal:isJsonEncodingNormal, parames: parames, commonParams: commonParams), encoding: encoding, timeoutInterval: timeoutInterval) { jsonObject, error, duration in
             if jsonObject != nil {
                 let paraseData = paraseJsonObject(respondDict: jsonObject as! [String: Any])
                 response(paraseData.0, paraseData.1, paraseData.2, duration)
@@ -36,8 +36,8 @@ public class BFNetRequestAdaptor: NSObject {
     }
 
     // put请求
-    public class func putRequestData(url: String, parames: [String: Any]?, commonParams: [String: Any]? = nil, encoding: ParameterEncoding = URLEncoding.default, timeoutInterval: TimeInterval = 60, response: @escaping completeHander) {
-        SWNetRequest.putRequestData(url: url, parames: requestParams(encoding: encoding, parames: parames, commonParams: commonParams), encoding: encoding, timeoutInterval: timeoutInterval) { jsonObject, error, duration in
+    public class func putRequestData(url: String, parames: [String: Any]?, commonParams: [String: Any]? = nil, encoding: ParameterEncoding = URLEncoding.default,isJsonEncodingNormal:Bool = false, timeoutInterval: TimeInterval = 60, response: @escaping completeHander) {
+        SWNetRequest.putRequestData(url: url, parames: requestParams(encoding: encoding,isJsonEncodingNormal:isJsonEncodingNormal, parames: parames, commonParams: commonParams), encoding: encoding, timeoutInterval: timeoutInterval) { jsonObject, error, duration in
             if jsonObject != nil {
                 let paraseData = paraseJsonObject(respondDict: jsonObject as! [String: Any])
                 response(paraseData.0, paraseData.1, paraseData.2, duration)
@@ -48,8 +48,8 @@ public class BFNetRequestAdaptor: NSObject {
     }
 
     /// delete请求
-    public class func deleteRequestData(url: String, parames: [String: Any]?, commonParams: [String: Any]? = nil, encoding: ParameterEncoding = URLEncoding.default, timeoutInterval: TimeInterval = 60, response: @escaping completeHander) {
-        SWNetRequest.deleteRequestData(url: url, parames: requestParams(encoding: encoding, parames: parames, commonParams: commonParams), encoding: encoding, timeoutInterval: timeoutInterval) { jsonObject, error, duration in
+    public class func deleteRequestData(url: String, parames: [String: Any]?, commonParams: [String: Any]? = nil, encoding: ParameterEncoding = URLEncoding.default,isJsonEncodingNormal:Bool = false, timeoutInterval: TimeInterval = 60, response: @escaping completeHander) {
+        SWNetRequest.deleteRequestData(url: url, parames: requestParams(encoding: encoding,isJsonEncodingNormal:isJsonEncodingNormal, parames: parames, commonParams: commonParams), encoding: encoding, timeoutInterval: timeoutInterval) { jsonObject, error, duration in
             if jsonObject != nil {
                 let paraseData = paraseJsonObject(respondDict: jsonObject as! [String: Any])
                 response(paraseData.0, paraseData.1, paraseData.2, duration)
@@ -60,8 +60,8 @@ public class BFNetRequestAdaptor: NSObject {
     }
 
     /// head请求
-    public class func headRequestData(url: String, parames: [String: Any]?, commonParams: [String: Any]? = nil, encoding: ParameterEncoding = URLEncoding.default, timeoutInterval: TimeInterval = 60, response: @escaping completeHander) {
-        SWNetRequest.headRequestData(url: url, parames: requestParams(encoding: encoding, parames: parames, commonParams: commonParams), encoding: encoding, timeoutInterval: timeoutInterval) { jsonObject, error, duration in
+    public class func headRequestData(url: String, parames: [String: Any]?, commonParams: [String: Any]? = nil, encoding: ParameterEncoding = URLEncoding.default,isJsonEncodingNormal:Bool = false, timeoutInterval: TimeInterval = 60, response: @escaping completeHander) {
+        SWNetRequest.headRequestData(url: url, parames: requestParams(encoding: encoding,isJsonEncodingNormal:isJsonEncodingNormal, parames: parames, commonParams: commonParams), encoding: encoding, timeoutInterval: timeoutInterval) { jsonObject, error, duration in
             if jsonObject != nil {
                 let paraseData = paraseJsonObject(respondDict: jsonObject as! [String: Any])
                 response(paraseData.0, paraseData.1, paraseData.2, duration)
@@ -99,12 +99,12 @@ public class BFNetRequestAdaptor: NSObject {
     ///   - parames: <#parames description#>
     ///   - commonParams: <#commonParams description#>
     /// - Returns: <#description#>
-    public class func requestParams(encoding: ParameterEncoding, parames: [String: Any]?, commonParams: [String: Any]?) -> [String: Any]? {
+    public class func requestParams(encoding: ParameterEncoding,isJsonEncodingNormal:Bool = false, parames: [String: Any]?, commonParams: [String: Any]?) -> [String: Any]? {
         var requestParams: [String: Any] = Dictionary<String, Any>.init()
         var tempCommonParams: [String: Any] = commonParams ?? Dictionary<String, Any>.init()
         var tempParames: [String: Any] = parames ?? Dictionary<String, Any>.init()
         tempCommonParams["abInfoData"] = bf_dictionaryToJsonString(dic: bf_abInfoData) ?? ""
-        if encoding is JSONEncoding {
+        if encoding is JSONEncoding,!isJsonEncodingNormal {
             requestParams["baseInfo"] = commonParams
             requestParams["params"] = parames
         } else {

+ 7 - 3
BFNetRequestKit/Classes/SWNetRequest.swift

@@ -97,9 +97,13 @@ public class SWNetRequest: NSObject {
         }).responseJSON { jsonResponse in
             switch jsonResponse.result {
             case .success:
-                let jsonData: Any = try! JSONSerialization.jsonObject(with: jsonResponse.data!, options: JSONSerialization.ReadingOptions.mutableContainers)
-                debugPrint("网络请求-成功:url = \(jsonResponse.request?.url?.absoluteString ?? ""),jsonData = \(jsonData)")
-                response(jsonData, nil, jsonResponse.metrics?.taskInterval.duration)
+                if jsonResponse.data != nil {
+                    let jsonData: Any = try! JSONSerialization.jsonObject(with: jsonResponse.data!, options: JSONSerialization.ReadingOptions.mutableContainers)
+                    debugPrint("网络请求-成功:url = \(jsonResponse.request?.url?.absoluteString ?? ""),jsonData = \(jsonData)")
+                    response(jsonData, nil, jsonResponse.metrics?.taskInterval.duration)
+                }else {
+                    response(nil, PQError(msg: "数据为空", code: 1), jsonResponse.metrics?.taskInterval.duration)
+                }
             case let .failure(error):
                 let errorResult = dealWithError(error: error)
                 response(nil, PQError(msg: errorResult.msg, code: errorResult.code), jsonResponse.metrics?.taskInterval.duration)