Pixela 1.2.0

Pixela 1.2.0

econa77 维护。



Pixela 1.2.0

  • 作者
  • Econda77

Pixela.swift

Actions Status Release version License: MIT Version Platform Carthage compatible SPM supported

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):处理响应时出错。

贡献

  1. 分支(https://github.com/Econa77/Pixela.swift/fork
  2. 更新git子模块(carthage checkout --no-build --use-submodulesgit submodule init && git submodule update
  3. 创建您的功能分支(git checkout -b my-new-feature
  4. 提交您的更改(git commit -am '添加一些功能'
  5. 推送到分支(git push origin my-new-feature
  6. 创建一个新的拉取请求