def account_balance(self, types, currency): """ 查询账户资产 :return: """ p = {"api_key": api_key, "time": Con().now_time()} request_path = '/open/api/user/v2/account' # request_path = '/open/api/user/account' try: result = wbf_signature.Signature(secret_key).get_sign( types, p, request_path, host) # print('查询资产响应:{}'.format(result)) if result['code'] == '0': coin = result['data']['coin_list'] for i in range(0, len(coin)): if coin[i]['coin'] == currency: Con().info_log(currency, coin[i]['normal'], coin[i]['locked']) # print('查询资产:{},{}'.format(coin[i]['normal'], coin[i]['locked'])) if coin[i]['normal'] is None and coin[i][ 'locked'] is not None: return 0, coin[i]['locked'] elif coin[i]['normal'] is not None and coin[i][ 'locked'] is None: return coin[i]['normal'], 0 elif coin[i]['normal'] is None and coin[i][ 'locked'] is None: return 0, 0 else: return coin[i]['normal'], coin[i]['locked'] except Exception as e: Con().error_log(currency, result, e)
def post_sign(self, types, p, request_path, host): if types == 'old': si = self.sign(p) # print('请求老的验签方式:{}'.format(si)) else: si = self.share_sign(p, 'POST', host, request_path) # print('请求新的验签方式:{}'.format(si)) url = host + request_path # print("请求域名:{}".format(url)) p['sign'] = si # print("请求参数:{}".format(p)) try: res = requests.post(url=url, data=p, headers={ 'content-type': "application/x-www-form-urlencoded", 'cache-control': "no-cache" }) # print('response-code:{}'.format(res)) Con().info_log(p, url, res) if res.status_code == 200: r = res.json() Con().info_log(p, url, r) return r except Exception as e: Con().error_log(p, url, e)
def market_depth(self, sym, typ): """ 获取市场买卖盘 :return: """ request_path = '/open/api/market_dept' url = host + request_path params = {"symbol": sym, "type": typ} try: res = requests.get(url=url, params=params) if res.status_code == 200: r = res.json() Con().info_log(params, url, r) return r except Exception as e: # print('error:{}'.format(e)) Con().error_log(params, url, e)
def lastprice(self, symbol): """ 获取最新成交价 :param symbol: :return: """ url = host + '/open/api/market' params = {"symbol": symbol} try: result = requests.get(url, params=params) Con().info_log(params, url, result) if result.status_code == 200: last_price = result.json()['data'][symbol] Con().info_log(params, url, last_price) return last_price except Exception as e: print("error:{}".format(e)) Con().error_log(params, url, e)
def get_sign(self, types, p, request_path, host): if types == 'old': si = self.sign(p) # print('请求老的验签方式:{}'.format(si)) else: si = self.share_sign(p, 'GET', host, request_path) # print('请求新的验签方式:{}'.format(si)) url = host + request_path # print("请求域名:{}".format(url)) p['sign'] = si # print("请求参数:{}".format(p)) try: res = requests.get(url=url, params=p) # print('请求信息:{}'.format(res)) Con().info_log(p, url, res) if res.status_code == 200: r = res.json() return r except Exception as e: Con().error_log(p, url, e)
def unfilled_order_v2(self, types): """ 查询当前委托单 :param types: :return: """ params = { "api_key": api_key, "time": Con().now_time(), "symbol": config.symbol } request_path = '/open/api/v2/new_order' result = wbf_signature.Signature(secret_key).get_sign( types, params, request_path, host) print('查询当前委托单:{}'.format(result))
def cancel_all(self, types): """ 撤销全部订单 :param p: :return: """ request_path = '/open/api/cancel_order_all' params = { "api_key": api_key, "time": Con().now_time(), "symbol": config.symbol } result = wbf_signature.Signature(secret_key).post_sign( types, params, request_path, host) print('撤销全部订单:{}'.format(result))
def setup_class(self): self.api_key = Con().environment()[0] self.secret_key = Con().environment()[1] self.host = Con().environment()[-2] self.tie = Con().now_time() print('测试用例开始执行!')
from Service import wbf_signature import requests from Service.config import Con from Service import config api_key = Con().environment()[0] secret_key = Con().environment()[1] host = Con().environment()[-2] class Order: def market_depth(self, sym, typ): """ 获取市场买卖盘 :return: """ request_path = '/open/api/market_dept' url = host + request_path params = {"symbol": sym, "type": typ} try: res = requests.get(url=url, params=params) if res.status_code == 200: r = res.json() Con().info_log(params, url, r) return r except Exception as e: # print('error:{}'.format(e)) Con().error_log(params, url, e) def lastprice(self, symbol): """