Pixela.swift
Pixela API 客户端,适用于 Swift。
要求
- Swift 5.0 或更高版本
- iOS 11.0 或更高版本
- macOS 10.12 或更高版本
入门
设置用户配置
要发送除注册 API 之外的其他请求,需要设置配置。
Pixela.shared.configuration = Configuration(username: "username", token: "secret-token")
用户注册
Pixela.shared.createUser(token: "secret-token", username: "username", isAgreeTermsOfService: true, isNotMinor: true, thanksCode: "thanks-code") { result in
switch result {
case let .success(configuration):
// Succeed new user registration
Pixela.shared.configuration = configuration
case let .failure(error)
// Failed registration
}
}
其他API
截至2020年5月6日,此库支持所有Pixela API。在此检查Pixela API列表。(https://docs.pixe.la/)
Pixela.shared.configuration = Configuration(username: "username", token: "secret-token")
Pixela.shared.getGraphs { result in
switch result {
case let .success(graphs):
print(graphs)
case let .failure(error):
print(error)
}
}
多账号处理
不是使用一个共享实例,而是可以通过自己管理来使用Pixela实例处理多个账号。
let user1 = Pixela(configuration: Configuration(username: "user1", token: "user1-secret-token"))
let user2 = Pixela(configuration: nil)
user2.configuration = Configuration(username: "user2", token: "user2-secret-token")
企业支持
将APIConfiguration
改为连接到Pixela的企业版本。
Pixela.shared.apiConfiguration = APIConfiguration(baseURL: URL(string: "https://custom.pixe.la")!)
let pixela = Pixela(configuration: Configuration(username: "user1", token: "user1-secret-token"))
pixela.apiConfiguration = APIConfiguration(baseURL: URL(string: "https://custom-domain-pixela.com")!)
错误情况
库中的所有错误都将返回一个PixelaError
。以下是PixelaError
的3种情况
PixelaError.requestFailed
:从请求创建URLRequest时出错。(某些APIKit.SessionTaskError.requestError)PixelaError.connectionFailed
:网络后端堆栈错误。(某些APIKit.SessionTaskError.connectionError)PixelaError.responseFailed(ResponseErrorReason)
:处理响应时出错。
贡献
- 分支(https://github.com/Econa77/Pixela.swift/fork)
- 更新git子模块(
carthage checkout --no-build --use-submodules
或git submodule init && git submodule update
) - 创建您的功能分支(
git checkout -b my-new-feature
) - 提交您的更改(
git commit -am '添加一些功能'
) - 推送到分支(
git push origin my-new-feature
) - 创建一个新的拉取请求