一个大幅提高开发效率的工具库 WYBasisKit
WYBasisKit (持续更新)
WYBasisKit 是做什么的?
WYBasisKit 不仅可以帮助开发者快速构建一个工程,还有基于常用网络框架和系统API而封装的各种实用方法、扩展,开发者只需简单的调用API就可以快速实现相应功能, 大幅提高开发效率。
想必做 iOS 开发的小伙伴都有以下困扰吧,比如:
- 经常调用某个API,每次都需要复制粘贴;
- 想把网络请求进行易用化封装;
- 想把各种实用且好用的控件进行封装;
- 想对系统功能进行一些拓展;
- 想简单地调用 API 以快速实现相应功能;
- 想大幅提高开发效率等等。
基于此,也本着自我成长、总结的种种原因,WYBasisKit 便应运而生了。
使用示例(太多了,简单写几个)
活动指示器
// 显示
WYActivity.showLoading(in: player, animation: .gifOrApng, config: WYActivityConfig.concise)
// 隐藏
WYActivity.dismissLoading(in: self.view)
Codable使用
let assetObj: WYDownloadModel? = try! WYCodable().decode(WYDownloadModel.self, from: success.origin.data(using: .utf8)!)
国际化
WYLocalized("这是使用示例")
本地存储(可设置过期时间)
// 获取
let cache = try! ImageCache(name: "hahaxiazai", cacheDirectoryURL: WYStorage.createDirectory(directory: .cachesDirectory, subDirectory: "WYBasisKit/Download"))
// 存储
let memoryData: WYStorageData = WYStorage.storage(forKey: "AAAAA", data: image!.jpegData(compressionQuality: 1.0)!, durable: .minute(2))
网络请求(支持HTTPS自建证书单/双向认证、支持ProtoBuf、支持缓存等)
// 发起一个网络请求
public static func request(method: HTTPMethod = .post, path: String = "", data: Data? = nil, parameter: [String : Any] = [:], config: WYNetworkConfig = .default, handler:((_ result: WYHandler) -> Void)? = .none)
// 发起一个上传请求
public static func upload(path: String = "", parameter: [String : Any] = [:], files: [WYFileModel], config: WYNetworkConfig = .default, progress:((_ progress: Double) -> Void)? = .none, handler:((_ result: WYHandler) -> Void)? = .none)
// 发起一个下载请求
public static func download(path: String = "", parameter: [String : Any] = [:], assetName: String = "", config: WYNetworkConfig = .default, handler:((_ result: WYHandler) -> Void)? = .none)
// 清除缓存
public static func clearDiskCache(path: String, asset: String = "", completion:((_ error: String?) -> Void)? = .none)
效果展示(部分)
暗夜模式切换
UIView控件设置 圆角、阴影、边框等
自定义按钮的图片和文本控件位置
二维码识别
自定义Banner控件(2个ImageView极限优化)
富文本控件
资源下载、保存(可设置本地资源过期时间)
网络请求
屏幕旋转
Gif加载
魔改UICollectionViewFlowLayout,支持各种瀑布流
直播、点播播放器(也可作为本地播放器)
分页控制器
如何使用WYBasisKit
一、集成方式
1、CocoaPods方式集成(推荐)
pod 'WYBasisKit'
# 集成数据解析类
pod 'WYBasisKit/Codable'
# 集成Layout库(libName: 目前包含ScrollText、PagingView和BannerView)
pod 'WYBasisKit/Layout' 或者 pod 'WYBasisKit/Layout/libName'
更多请查看WYBasisKit.podspec文件或者pod search WYBasisKit
2、下载WYBasisKit,解压后将工程下的整个WYBasisKit文件或您需要的文件放进项目中
二、头文件引入
1、推荐在AppDelegate中全局引入,复制粘贴 @_exported import WYBasisKit 在引入头文件的位置
2、在需要使用的页面引入,即 import WYBasisKit
传送门
If you think it's cool,Please give me a little star. (如果你也觉得很酷😎,就点一下Star吧(●ˇ∀ˇ●))
目前WYBasisKit已基本开发完毕,更多功能敬请期待。
如您在使用过程中发现BUG,或有好的意见建议,可发邮件至mobileAppDvlp@icloud.com