使用swift5.0 基于Restful接口规范,对网络层Alamofire、图片上传到AliyunOSSiOS的二次封装。
网络层:
只需要调用简单接口,可完成数据的请求。
利用swift语法特性,实现闭包 + 链式调用的方式,完成数据请求。
图片上传:
只需要调用简单接口,可完成图片上传。
利用网络层获取到credential后,使用封装接口,可生成client。
静态方法实现图片上传。
利用二分法对图片压缩处理。
举例
//MARK: 上传图片
//MARK: NetworkManager get请求举例
NetworkManager.startRequest { manager -> NetworkManager in
manager.requestType(.get)
.url("ossConfig")
.origialData(origialData: { (jsonString, reponseData) in
print("请求到的原始数据",jsonString as Any, reponseData)
})
.success { data in
print("成功获取到success['data']的数据")
//MARK: 解析举例:使用结构体模型的可选类型,作为参数
let credential: CredentialModel? = SECodable.decoder(data: data)
print(credential as Any)
// MARK: UploadManager 阿里云oss图片上传举例
guard let client = UploadManager.createCredential(with: credential) else { return }
UploadManager.uploadImages([UIImage()], client: client, bucketName: "xxxx") { imagePaths in
print(imagePaths)
} failure: { code in
print(code)
}
}.failure { (code, msg) in
print("错误码:\(code ?? 0),错误信息:\(msg)")
}
}