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分类的方法及注释。