StexSDK (Swift API 客户端)
STEX (前 Stocks.Exchange) 提供了所有核心交易所功能以及通过 HTTP API 提供的附加商家工具,所有返回的消息都在模型类中。使用 STEX 提供的客户端之一与 API 一起工作会更简单,因此尽管此页面描述了 API,以便您或需要在构建自己的客户端时,示例使用 Swift 客户端。
要求
- iOS 10.0+
- Xcode 10+
一般
除了公共方法以外的所有请求的基础 URL 为
https://api3.stex.com
集成
CocoaPods (iOS 10 及以上版本)
您可以使用 CocoaPods 将 StexSDK
添加到您的 Podfile
中进行安装。
platform :ios, '10.0'
use_frameworks!
target 'MyApp' do
pod 'StexSDK'
end
使用方法
初始化
StexClient
import StexSDK
var stexClient = StexClient()
stexClient.fetchAllTicker { result in
switch result {
case .success(let data):
print(data)
case .error(let error):
print(error.localizedDescription)
}
}
RxStexClient
import StexSDK
var rxStexClient = RxStexClient()
rxStexClient.fetchAllTicker()
.subscribe(onNext: { data in
print(data)
}, onError: { error in
print(error.localizedDescription)
}, onCompleted: nil, onDisposed: nil)
.dispose()
授权请求
对于授权请求,您需要将令牌设置到 StexTokensManager
中。
import StexSDK
var stexClient = StexClient()
StexTokensManager.sharded.setTokens(accessToken: "you_access_token", refreshToken: "you_refresh_token")
stexClient.fetchProfileInfo { result in
switch result {
case .success(let user):
print(user.email)
case .error(let error):
print(error.localizedDescription)
}
}
WebSocket API V3
import StexSDK
class SocketListener: ISocketEventListener {
var socketClient = StexSocketClient()
init() {
socketClient.eventListener = self
socketClient.establishConnection()
socketClient.subscribe(toEvent: .rate)
}
func socket(_ socketClient: StexSocketClient, receiveRatesWith data: [StexRate]) {
print(data)
}
}
或者
import StexSDK
class SocketListener: ISocketEventListener {
var socketClient = StexSocketClient()
init() {
socketClient.eventListener = self
socketClient.establishConnection()
socketClient.subscribe(toEvents: [.rate, .buyGlassRowChanget(1), .sellUserOrder(123, 43)])
}
...
func socket(_ socketClient: StexSocketClient, receiveRatesWith data: [StexRate]) {
print(data)
}
...
}