LQAlamoUnit 1.8.0

LQAlamoUnit 1.8.0

LQQ 维护。



 
依赖
Alamofire~> 4.7.3
SwiftyJSON~> 4.1.0
 

LQAlamoUnit

基于 Alamofire/SwiftyJSON 的网络请求封装

安装

手动

将 LQAlamoUnit 文件夹内的文件直接拖入项目,同时需要添加 Alamofire/SwiftyJSON。

CocoaPods

在 Podfile 文件中添加

pod 'LQAlamoUnit', '~> 1.1.0'

执行 pod install 即可!

使用

简单封装了 GET 和 POST 请求,并使用 SwiftyJSON 解析数据。

/// 网络请求方式
///
/// - get: get
/// - post: post
enum LQRequestType {
    case get, post
}

这里仅设置了请求参数的编码格式(返回数据格式统一为 json)。

/// 网络请求参数编码方式
///
/// - json: json
/// - text: text
/// - plist: plist属性列表
enum LQRequestEncoding {
    case json, text, plist
}

关于返回数据的格式,可以直接调用不同的响应方法来使用不同的编码结果,这里使用的是 json。

这里所有的属性和实例方法都是私有的,对外开放的全部是类方法,方便调用。

一些配置方法,调用一次即可,无需每次发请求时都调用,例如

    /// 基础URL
    ///
    /// - Parameter string: 基础URL链接地址
    class func setBaseURLString(_ string: String)
    /// 请求参数的编码格式
    ///
    /// - Parameter type: 编码格式
    class func setRequestEncoding(_ type: LQRequestEncoding)
    /// 请求头
    ///
    /// - Parameter headers: 请求头字典
    class func setHTTPHeaders(_ headers: [String: String])
...

使用

发送请求

使用时,可以全局一次性配置一些参数设置信息,只需设置一次

LQAlamoUnit.setRequestEncoding(.text)
LQAlamoUnit.setBaseURLString("urlBaseString")
LQAlamoUnit.setHTTPHeaders(["header": "value"])

发送Post请求

        LQAlamoUnit.post("http://", parameters: ["mobile": "23345", "pwd": "123456"], success: { (json) in
            
            print(json)
        }) { (error) in
            print(error)
        }

发送Get请求

LQAlamoUnit.get("http://", parameters: ["mobile": "23456", "pwd": "123456"], success: { (json) in
            print(json)
        }) { (error) in
            print(error)
        }

监听网络状态


LQAlamoUnit.startNetworkObserver { (state) in
            print(state)
}

获取当前网络状态


print(LQAlamoUnit.currentNetworkStatus)

其他接口,可直接查看//MARK: - Public Method部分的extension分类的方法及注释。