订阅K线的websocket接口
<p>[TOC]</p>
<h5>简要描述</h5>
<ul>
<li>订阅K线的websocket接口</li>
</ul>
<h5>请求URL</h5>
<ul>
<li><code>http://doge-test-api.2travel.vip/market/swap-ws/websocket</code></li>
</ul>
<h5>请求方式</h5>
<ul>
<li>websocket </li>
</ul>
<h5>参数</h5>
<table>
<thead>
<tr>
<th style="text-align: left;">参数名</th>
<th style="text-align: left;">必选</th>
<th style="text-align: left;">类型</th>
<th>说明</th>
</tr>
</thead>
<tbody>
<tr>
<td style="text-align: left;">/topic/swap/kline/1min/{symbol}</td>
<td style="text-align: left;">是</td>
<td style="text-align: left;">string</td>
<td>订阅1分钟数据(symbol:BTC/USDT),币种需大写</td>
</tr>
<tr>
<td style="text-align: left;">/topic/swap/kline/5min/{symbol}</td>
<td style="text-align: left;">是</td>
<td style="text-align: left;">string</td>
<td>订阅5分钟数据(symbol:BTC/USDT),币种需大写</td>
</tr>
<tr>
<td style="text-align: left;">/topic/swap/kline/15min/{symbol}</td>
<td style="text-align: left;">是</td>
<td style="text-align: left;">string</td>
<td>订阅15分钟数据(symbol:BTC/USDT),币种需大写</td>
</tr>
<tr>
<td style="text-align: left;">/topic/swap/kline/30min/{symbol}</td>
<td style="text-align: left;">是</td>
<td style="text-align: left;">string</td>
<td>订阅30分钟数据(symbol:BTC/USDT),币种需大写</td>
</tr>
<tr>
<td style="text-align: left;">/topic/swap/kline/60min/{symbol}</td>
<td style="text-align: left;">是</td>
<td style="text-align: left;">string</td>
<td>订阅1小时数据(symbol:BTC/USDT),币种需大写</td>
</tr>
<tr>
<td style="text-align: left;">/topic/swap/kline/4hour/{symbol}</td>
<td style="text-align: left;">是</td>
<td style="text-align: left;">string</td>
<td>订阅4小时数据(symbol:BTC/USDT),币种需大写</td>
</tr>
<tr>
<td style="text-align: left;">/topic/swap/kline/1day/{symbol}</td>
<td style="text-align: left;">是</td>
<td style="text-align: left;">string</td>
<td>订阅1天数据(symbol:BTC/USDT),币种需大写</td>
</tr>
<tr>
<td style="text-align: left;">/topic/swap/kline/1week/{symbol}</td>
<td style="text-align: left;">是</td>
<td style="text-align: left;">string</td>
<td>订阅1周数据(symbol:BTC/USDT),币种需大写</td>
</tr>
<tr>
<td style="text-align: left;">/topic/swap/kline/1mon/{symbol}</td>
<td style="text-align: left;">是</td>
<td style="text-align: left;">string</td>
<td>订阅1月数据(symbol:BTC/USDT),币种需大写</td>
</tr>
</tbody>
</table>
<h5>返回示例</h5>
<pre><code> &quot;MESSAGE\ndestination:/topic/swap/kline/1min/ETH/USDT\ncontent-type:application/json;charset=UTF-8\nsubscription:sub-0\nmessage-id:mlfka3c4-59\ncontent-length:65\n\n[[1713494460000,2891.66,2892,2866.48,2866.61,48254514.9973,true]]\u0000&quot;</code></pre>
<h5>返回参数说明</h5>
<table>
<thead>
<tr>
<th style="text-align: left;">参数名</th>
<th style="text-align: left;">类型</th>
<th>说明</th>
</tr>
</thead>
<tbody>
<tr>
<td style="text-align: left;">destination</td>
<td style="text-align: left;">String</td>
<td>订阅的地址:eg:/topic/swap/kline/1min/ETH/USDT</td>
</tr>
<tr>
<td style="text-align: left;">content-type</td>
<td style="text-align: left;">String</td>
<td>返回数据类型:eg:application/json</td>
</tr>
<tr>
<td style="text-align: left;">charset</td>
<td style="text-align: left;">String</td>
<td>返回字符集:eg:UTF-8</td>
</tr>
<tr>
<td style="text-align: left;">subscription</td>
<td style="text-align: left;">String</td>
<td>描述:eg:sub-0</td>
</tr>
<tr>
<td style="text-align: left;">message-id</td>
<td style="text-align: left;">String</td>
<td>消息id:eg:mlfka3c4-59</td>
</tr>
<tr>
<td style="text-align: left;">content-length</td>
<td style="text-align: left;">String</td>
<td>消息长度:eg:65</td>
</tr>
<tr>
<td style="text-align: left;">返回内容</td>
<td style="text-align: left;">array</td>
<td>[1713494460000,2891.66,2892,2866.48,2866.61,48254514.9973,true]说明:1:时间,2:开盘价,3:最高价,4:最低价,5:收盘价,6:交易量,7:是否收线(false:未收盘,true:该时间段已收盘)</td>
</tr>
</tbody>
</table>
<h5>备注</h5>
<p>web端订阅方式:</p>
<p><!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>WebSocket Example</title>
<script src="<a href="https://cdn.jsdelivr.net/npm/sockjs-client/dist/sockjs.min.js"></script>">https://cdn.jsdelivr.net/npm/sockjs-client/dist/sockjs.min.js"></script></a>;
<script src="<a href="https://cdn.jsdelivr.net/npm/stompjs/lib/stomp.min.js"></script>">https://cdn.jsdelivr.net/npm/stompjs/lib/stomp.min.js"></script></a>;
</head>
<body>
<h3>WebSocket STOMP test</h3>
<div id="data"></div></p>
<p><script>
// 在页面加载完毕后建立连接
window.onload = function() {
// 用SockJS建立连接
var socket = new SockJS('<a href="http://doge-test-api.2travel.vip/market/swap-ws'">http://doge-test-api.2travel.vip/market/swap-ws'</a>;);
// 获取STOMP子协议的客户端
var client = Stomp.over(socket);
// 关闭调试输出
client.debug = null;</p>
<pre><code> // 建立STOMP连接
client.connect({}, function(frame) {
// 订阅要接收消息的目标地址
client.subscribe(&#039;/topic/swap/kline/4hour/ETH/USDT&#039;, function(message) {
// 将消息体转换为JSON对象
var payload = JSON.parse(message.body);
console.log(&#039;Payload:&#039;, payload);
// 在这里你可以更新页面上的元素或进行其他操作
document.getElementById(&#039;data&#039;).textContent = JSON.stringify(payload);
});
}, function(error) {
console.log(&#039;STOMP error:&#039;, error);
});
};</code></pre>
<p></script></p>
<p></body>
</html></p>