ALNetWorkingSwift 0.4.0

ALNetWorkingSwift 0.4.0

Anyeler维护。



 
依赖
Alamofire= 4.7.3
HandyJSON= 4.2.0
 

  • 作者:
  • Anyeler

ALNetWorkingSwift

ALNetWorkingSwift 主要为公司内部 Swift 项目提供。迄今为止,已集成相关网络请求操作,包括数据映射模块。

CI Status Version License Platform

中文文档

示例

要运行示例项目,请克隆该仓库,然后首先从 Example 目录运行 pod install

要求

  • iOS 8.0+
  • Xcode 9.3+
  • Swift 4.1+

安装

ALNetWorkingSwift 通过 CocoaPods 提供。要安装它,只需将以下行添加到您的 Podfile 中

platform :ios, '8.0'
use_frameworks!

target '<Your Target Name>' do
    pod 'ALNetWorkingSwift'
    # You can also load only core modules:
    # pod 'ALNetWorkingSwift/Core'
end

核心模块的基本使用

发起请求

你可以调用该方法来发起一个常见的网络请求

ALHTTPRequestOperationManager.default.requestBase(httpMethod: .get, url: "https://www.baidu.com", urlEncoding: TURLEncoding.default, parameter: nil) { (response) in        
    switch response.result {
    case .success(let res):
        print(res)
    case .failure(let err):
        print(err)
    }
}

你也可以调用以下方法来上传数据

ALHTTPRequestOperationManager.default.uploadBase(url: "https://www.baidu.com", multipartFormData: { (formData) in
    // The assembly to upload data
}) { (result) in
    switch result {
    case .success(let request, let streamingFromDisk, let streamFileURL):
        print(request)
        print(streamingFromDisk)
        print(streamFileURL ?? "")
    case .failure(let err):
        print(err)
    }
}

高级使用

你也可以重新封装这两种方法以满足您的业务需求

配置

为了符合ALCommonConfigProtocol,一个结构体需要实现一些属性和方法

public struct HTTPConfig: ALCommonConfigProtocol {
    
    public var kHttpUserAgent: String = ""
    
    init() {
        
    }
    
    public func getHeader(dictHeader: [String: String]? = nil) -> [String: String] {
        var header: [String:String] = [String: String]()
        if dictHeader != nil {
            header.merge(dictHeader!) { (_, new) in new }
        }
        return header
    }
    
    public func getContentType(contentType: Set<String>? = nil) -> Set<String> {
        var content: Set<String> = Set<String>()
        contentType?.forEach({ (ele) in
            content.insert(ele)
        })
        return content
    }
}

然后,调用此方法

ALHTTPRequestOperationManager.default.httpConfig = HTTPConfig()

作者

Anyeler,[email protected]

许可证

ALNetWorkingSwift遵循MIT许可证。更多信息请参阅LICENSE文件。