1 Star 0 Fork 0

edwardyyk / YKSwiftNetworking

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
克隆/下载
贡献代码
同步代码
取消
提示: 由于 Git 不支持空文件夾,创建文件夹后会生成空的 .keep 文件
Loading...
README
MIT

YKSwiftNetworking

CI Status Version License Platform

介绍

  • 基于Alamofire的二次封装
  • 链式编程
  • 添加对RxSwift的拓展

引入 YKSwiftNetworking

pod 'YKSwiftNetWorking'

开始使用

初始化

默认初始化
var normalnetwork = YKSwiftNetworking.init()
复杂初始化
var normalnetwork = YKSwiftNetworking.init(["header":"header"],["param":"param"]) { request, response in
    return nil
}
参数
参数 类型 名称 备注
defaultHeader [String:String] 默认头部 本对象所发起的所有请求均加入本次的默认头部
defaultParams [String:Any] 默认参数 本对象所发起的所有请求均加入本次的默认参数
prefixUrl String 默认请求url前缀 本对象所发起的所有请求均已此为前缀后续所发起的所有请求均只需要设置路由即可
handleResponse (_ response:YKSwiftNetworkResponse, _ request:YKSwiftNetworkRequest)->Error? 默认请求成功执行的回调信息 本对象所发起的所有请求均使用本次设置的回调响应Block,即每次请求响应成功后即会执行本回调,即能及时对请求数据进行预处理
选择模式及设置地址
详细设置
GET模式
normalnetwork = normalnetwork.method(.GET).url("https://ios.tipsoon.com")
POST模式
normalnetwork = normalnetwork.method(.POST).url("https://ios.tipsoon.com")
快捷设置
GET模式
normalnetwork = normalnetwork.get("https://ios.tipsoon.com")
POST模式
normalnetwork = normalnetwork.post("https://ios.tipsoon.com")
参数 类型 名称 备注
method String 模式 本对象的本次发起的请求模式
url String 地址
添加动态参数
normalnetwork = normalnetwork.params(["paramKey":"paramValue"])
参数 类型 名称 备注
params [String:Any] 动态参数 本对象的本次发起的请求所添加的动态参数
添加请求头
normalnetwork = normalnetwork.header(["headerKey":"headerValue"])
参数 类型 名称 备注
header [String:String] 动态请求头 本对象的本次发起的请求所添加的动态请求头
设置请求进度回调
normalnetwork = normalnetwork.progress({ progress in
        //progress 进度的百分比
})
参数 类型 名称 备注
progress (_ progress:Double)->Void 请求进度回调 本对象的本次发起的请求的请求进度
设置请求实现的协议
normalnetwork = normalnetwork.encoding(.URLEncoding)
参数 类型 名称 备注
encoding YKSwiftNetworkRequestEncoding 请求协议 本对象的本次发起的请求的协议
设置请求模拟数据
normalnetwork = normalnetwork.mockData(Any)
参数 类型 名称 备注
mockData Any 请求模拟数据 本对象的本次请求模拟回调内容
设置请求往body中添加内容
normalnetwork = normalnetwork.httpBody(Data.init(base64Encoded: "{\"test\":\"1\"}"))
参数 类型 名称 备注
httpBody Data? 请求body加入内容 本对象的本次发起的请求加入body的内容
设置请求为上传请求
let data = UIImageJPEGRepresentation(UIImage.init(named: "test.jpg")!, 0.1)!
normalnetwork = normalnetwork.uploadData(data: data, filename: "text.jpeg", mimeType: "image/jpeg", formDataName: "file")
参数 类型 名称 备注
data Data 上传的二进制数据
filename String 文件名 如:text.jpeg
mimeType String 文件分类名 如:image/jpeg
formDataName String 当前数据的参数名称 后端根据此字段获取响应数据
设置请求为下载请求
normalnetwork = normalnetwork.downloadDestPath("download/jpeg")
参数 类型 名称 备注
downloadDestPath String 路径path 最终完整的下载路径为cache+'设置的path'+‘下载文件名'

引入RxSwift

pod 'YKSwiftNetWorking/RxSwift'

开始

//唯一跟普通的区别在执行的内容
var normalnetwork = YKSwiftNetworking.init()

//产生请求报文
let single = normalnetwork.rx.request()

//申请请求
single.subscribe(onNext: { data in

}).dispose()
Copyright (c) 2021 534272374@qq.com <534272374@qq.com> Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.

简介

swift 配合 rxswift 的网络请求库 展开 收起
Swift 等 2 种语言
MIT
取消

发行版 (7)

全部

贡献者

全部

近期动态

加载更多
不能加载更多了
1
https://gitee.com/Edwrard/YKSwiftNetworking.git
git@gitee.com:Edwrard/YKSwiftNetworking.git
Edwrard
YKSwiftNetworking
YKSwiftNetworking
master

搜索帮助