Commit 44e07603 by ken

试试看

parent d48a5991
...@@ -12,6 +12,8 @@ const accountInfoChannel = "getaccountinfo"; ...@@ -12,6 +12,8 @@ const accountInfoChannel = "getaccountinfo";
const APIKEY = "171985b3-3e8a-47af-aa7c-865f3db1909f"; const APIKEY = "171985b3-3e8a-47af-aa7c-865f3db1909f";
const APISECRET = "30577876-ddd0-4969-92f9-f6a1dfb85703"; const APISECRET = "30577876-ddd0-4969-92f9-f6a1dfb85703";
const lastEventTimeMap = {}; const lastEventTimeMap = {};
let balanceByRestOk = true;
let balanceByWebsocketOk = true;
function signParams2Str(params) { function signParams2Str(params) {
...@@ -103,8 +105,12 @@ function subscribe() { ...@@ -103,8 +105,12 @@ function subscribe() {
balances[coin.enName] = {"onOrder": coin.freez, "available": coin.available}; balances[coin.enName] = {"onOrder": coin.freez, "available": coin.available};
} }
redisClient.hset("balance", "zb", JSON.stringify(balances)); redisClient.hset("balance", "zb", JSON.stringify(balances));
balanceByWebsocketOk = true;
} catch (e) { } catch (e) {
redisClient.hset("balance", "zb", JSON.stringify({})); balanceByWebsocketOk = false;
if (!balanceByRestOk) {
redisClient.hset("balance", "zb", JSON.stringify({}));
}
console.error(data); console.error(data);
} }
} else { } else {
...@@ -172,13 +178,28 @@ function depthByRest(symbol,callback) { ...@@ -172,13 +178,28 @@ function depthByRest(symbol,callback) {
function getBalanceByRest() { function getBalanceByRest() {
const sign = signParamsStr(`accesskey=${APIKEY}&method=getAccountInfo`); const sign = signParamsStr(`accesskey=${APIKEY}&method=getAccountInfo`);
const url = `https://trade.zb.com/api/getAccountInfo?accesskey=${APIKEY}&method=getAccountInfo&sign=${sign}&reqTime=${Date.now()}`; const url = `https://trade.zb.com/api/getAccountInfo?accesskey=${APIKEY}&method=getAccountInfo&sign=${sign}&reqTime=${Date.now()}`;
console.log(url);
_request("GET", url, (err, data) => { _request("GET", url, (err, data) => {
if (err) { if (err) {
console.error(err); console.error(err);
console.error(url); balanceByRestOk = false;
if (!balanceByWebsocketOk) {
redisClient.hset("balance", "zb", JSON.stringify({}));
}
} else { } else {
console.debug(data); try {
const coins = data.result.coins;
const balances = {};
for (const coin of coins) {
balances[coin.enName] = {"onOrder": coin.freez, "available": coin.available};
}
redisClient.hset("balance", "zb", JSON.stringify(balances));
} catch (e) {
balanceByRestOk = false;
if (!balanceByWebsocketOk) {
redisClient.hset("balance", "zb", JSON.stringify({}));
}
console.error(data);
}
} }
}); });
} }
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment