美文网首页
swift 三方库 Alamofire&&Kingfisher

swift 三方库 Alamofire&&Kingfisher

作者: 茗记西岭雪 | 来源:发表于2020-03-05 18:59 被阅读0次

    Alamofire  网络库,类似于 oc 里面都 AFNetworking 

    导入就不说了很简单 说一下封装 , get 和 post 直接调用就可以

    class NetworkTools: NSObject {

        classfuncgetHttp(url:String,

        params: [String:Any]?,

        success:@escaping FSResponseSuccess,

        error:@escapingFSResponseFail) {

            AF.request(url,

                            method: .get,

                            parameters: params,

                            encoding:URLEncoding.default

                            ).responseJSON{ (response)in

                                switchresponse.result{

                                case.success(letjson):

                                    success((jsonasAnyObject?)! )

                                case.failure:

                                    letstatusCode = response.response?.statusCode

                                    error("\(statusCode ??0)请求失败")

                                    debugPrint(response.responseasAny)

                                }

            }

        }

        classfuncpostHttp(url:String,

           params: [String:Any]?,

           success:@escapingFSResponseSuccess,

           error:@escapingFSResponseFail) {

               AF.request(url,

                          method: .post,

                               parameters: params,

                               encoding:URLEncoding.default

                               ).responseJSON{ (response)in

                                   switchresponse.result{

                                   case.success(letjson):

                                    success(jsonasAnyObject) 

                                   case.failure:

                                       letstatusCode = response.response?.statusCode

                                       error("\(statusCode ??0)请求失败")

                                       debugPrint(response.responseasAny)

                                   }

               }

           }

         publicfuncgetWith(url:String,

                            params: [String:Any]?,

                            success:@escapingFSResponseSuccess,

                            error:@escapingFSResponseFail) {

            requestWith(url: url,

                        httpMethod:0,

                        params: params,

                        success: success,

                        error: error)

        }

        publicfuncpostWith(url:String,

                             params: [String:Any]?,

                             success:@escapingFSResponseSuccess,

                             error:@escapingFSResponseFail) {

            requestWith(url: url,

                        httpMethod:1,

                        params: dic,

                        success: success,

                        error: error)

        }

        publicfuncrequestWith(url:String,

                                httpMethod:Int32,

                                params: [String:Any]?,

                                success:@escapingFSResponseSuccess,

                                error:@escapingFSResponseFail) {

            //get

            ifhttpMethod==0{

                manageGet(url: url, params: params, success: success, error: error)

            }else{

                managePost(url: url, params: params!, success: success, error: error)

            }

        }

        privatefuncmanagePost(url:String,

                                params: [String:Any],

                                success:@escapingFSResponseSuccess,

                                error:@escapingFSResponseFail) {

            AF.request(url,

                            method: .post,

                            parameters: params,

                            encoding:URLEncoding.default).responseJSON{ (response)in

                                switchresponse.result{

                                case.success(letjson):

                                    success((jsonasAnyObject?)! )

                                case.failure:

                                    letstatusCode = response.response?.statusCode

                                    error("\(statusCode ??0)请求失败")

                                    debugPrint(response.responseasAny)

                                }

            }

        }

        privatefuncmanageGet(url:String,

                               params: [String:Any]?,

                               success:@escapingFSResponseSuccess,

                               error:@escapingFSResponseFail) {

            AF.request(url,

                            method: .get,

                            parameters: params,

                            encoding:URLEncoding.default).responseJSON{ (response)in

                                switchresponse.result{

                                case.success(letjson):

                                    success((jsonasAnyObject?)! )

                                case.failure:

                                    letstatusCode = response.response?.statusCode

                                    error("\(statusCode ??0)请求失败")

                                    debugPrint(response.responseasAny)

                                }

            }

        }

    }

    Kingfisher  图片库

    使用简单             imageView.kf.setImage(

                    with:URL(string: anchor.vertical_src),

                    placeholder:nil

                    )

    相关文章

      网友评论

          本文标题:swift 三方库 Alamofire&&Kingfisher

          本文链接:https://www.haomeiwen.com/subject/bljcrhtx.html