StexSDK 0.0.27

StexSDK 0.0.27

由以下人员维护:Hanna KarnaukhRoman NazarkevychAlexander Rudyk



 
依赖
Alamofire>= 5.0.0.beta.1
Socket.IO-Client-Swift>= 0
Locksmith>= 0
RxSwift~> 4.0
SWXMLHash~> 5.0.0
 

StexSDK 0.0.27

  • Alexander Rudyk

StexSDK (Swift API 客户端)

STEX (前 Stocks.Exchange) 提供了所有核心交易所功能以及通过 HTTP API 提供的附加商家工具,所有返回的消息都在模型类中。使用 STEX 提供的客户端之一与 API 一起工作会更简单,因此尽管此页面描述了 API,以便您或需要在构建自己的客户端时,示例使用 Swift 客户端。

CocoaPods

要求

  • iOS 10.0+
  • Xcode 10+

一般

除了公共方法以外的所有请求的基础 URL 为

https://api3.stex.com

集成

CocoaPods (iOS 10 及以上版本)

您可以使用 CocoaPodsStexSDK 添加到您的 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)
    }
    
    ...
}