Doku 钱包 SDK
Doku 钱包 SDK 是一个旨在方便连接到 DOKU 钱包 API 终端的 SDK。
特性
- 简化 API 连接。
- 同时支持 CocoaPods 和 Swift Package Manager (SPM)。
要求
- iOS 11.4 或更高版本。
安装
CocoaPods
要使用CocoaPods将Wallet SDK集成到您的Xcode项目中,请在Podfile中指定它
pod 'DokuWalletSDK', '~> 1.0.0'
然后,在终端中运行以下命令
pod install
Swift Package Manager
要使用Swift Package Manager将Wallet SDK添加到您的Xcode项目中,请将以下内容添加到Package.swift文件下的dependencies
.package(url: "https://github.com/PTNUSASATUINTIARTHA-DOKU/doku-wallet-ios-sdk.git", .upToNextMajor(from: "1.0.0"))
或者,您可以通过以下步骤在Xcode UI中添加Doku Wallet SDK:前往
文件 -> Swift Packages -> 添加依赖...
并输入仓库URL
https://github.com/PTNUSASATUINTIARTHA-DOKU/doku-wallet-ios-sdk.git
使用
首先,在您的文件中导入Wallet SDK
import DokuWalletSDK
函数调用示例
要调用如getTokenB2B这样的函数,请使用以下语法。此函数检索数据,并以自定义的Codable结构体或错误的形式返回响应。
Wallet.sharedInstance.getTokenB2B(headers: headers, parameters: parameters) { result in
switch result {
case .success(let response):
print("Success: \(response)")
case .failure(let error):
print("Error: \(error)")
}
}
理解响应
每个函数都返回一个唯一的响应类型。例如,getTokenB2B返回类型为GetTokenB2BResponse的响应,其中包含accessToken、expiresIn等多个字段。
public struct GetTokenB2BResponse: Codable {
public var accessToken: String?
public var tokenType: String?
public var expiresIn: Int?
public var additionalInfo: String?
public var responseCode: String?
public var responseMessage: String?
}
处理错误
SDK使用自定义的WalletError枚举来表示错误。这个枚举包含各种情况,如apiError和networkError,提供有关错误的详细信息。
public enum WalletError: Error {
case apiError(responseCode: String, responseMessage: String, originalError: Error)
case networkError(type: NetworkErrorType, originalError: Error? = nil)
// Detailed categorization of network errors
public enum NetworkErrorType: String, Decodable {
case noConnection = "No internet connection"
case clientError400 = "Client error (400)"
case serverError500 = "Internal server error (500)"
case noData = "No data"
case unknownError = "Unknown error"
case decodingError = "Decoding error"
}
}
处理错误时,您可以根据WalletError获取失败的详细信息,包括HTTP响应代码、消息以及可能的底层错误。
完整文档
请参阅完整文档以获取关于其他函数及其唯一响应类型的详细信息。本指南仅涵盖一般使用模式和错误处理。对于更全面的示例和高级使用,请查阅API文档和示例项目。