Skip to content

Javascript 语言版本的 iTick API SDK,提供基础、股票、指数、期货、基金、外汇、加密货币数据的 REST API 查询和 WebSocket 实时数据订阅功能。

Notifications You must be signed in to change notification settings

itick-org/javascript-sdk

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

2 Commits
 
 
 
 
 
 

Repository files navigation

iTick API SDK for JavaScript

安装

浏览器端

直接在HTML文件中引入:

<script src="path/to/index.js"></script>

Node.js 端

使用 npm 安装:

npm install itick-sdk

使用示例

浏览器端

<!DOCTYPE html>
<html>
<head>
    <title>iTick SDK Demo</title>
    <script src="index.js"></script>
</head>
<body>
    <h1>iTick SDK Demo</h1>
    <div id="output"></div>
    
    <script>
        // 初始化客户端
        const client = new iTickClient('YOUR_API_KEY');
        const output = document.getElementById('output');
        
        // 示例:获取股票信息
        async function getStockInfo() {
            try {
                const stockInfo = await client.getStockInfo('us', 'AAPL');
                output.innerHTML += '<h2>股票信息</h2>';
                output.innerHTML += '<pre>' + JSON.stringify(stockInfo, null, 2) + '</pre>';
            } catch (error) {
                output.innerHTML += '<h2>错误</h2>';
                output.innerHTML += '<p>' + error.message + '</p>';
            }
        }
        
        // 示例:获取股票K线数据
        async function getStockKline() {
            try {
                const kline = await client.getStockKline('us', 'AAPL', '1d', 30);
                output.innerHTML += '<h2>股票K线</h2>';
                output.innerHTML += '<pre>' + JSON.stringify(kline, null, 2) + '</pre>';
            } catch (error) {
                output.innerHTML += '<h2>错误</h2>';
                output.innerHTML += '<p>' + error.message + '</p>';
            }
        }
        
        // 示例:WebSocket连接
        function connectWebSocket() {
            client.setOpenHandler(() => {
                output.innerHTML += '<h2>WebSocket</h2>';
                output.innerHTML += '<p>WebSocket connected</p>';
            });
            
            client.setMessageHandler((message) => {
                output.innerHTML += '<p>Received message: ' + message + '</p>';
            });
            
            client.setErrorHandler((error) => {
                output.innerHTML += '<p>Error: ' + error.message + '</p>';
            });
            
            client.setCloseHandler(() => {
                output.innerHTML += '<p>WebSocket closed</p>';
            });
            
            // 连接股票WebSocket
            client.connectStockWebSocket();
        }
        
        // 调用示例函数
        getStockInfo();
        getStockKline();
        connectWebSocket();
    </script>
</body>
</html>

Node.js 端

const Client = require('itick-sdk');

// 初始化客户端
const client = new Client('YOUR_API_KEY');

// 示例:获取股票信息
async function getStockInfo() {
    try {
        const stockInfo = await client.getStockInfo('us', 'AAPL');
        console.log('股票信息:', stockInfo);
    } catch (error) {
        console.error('错误:', error.message);
    }
}

// 示例:获取股票K线数据
async function getStockKline() {
    try {
        const kline = await client.getStockKline('us', 'AAPL', '1d', 30);
        console.log('股票K线:', kline);
    } catch (error) {
        console.error('错误:', error.message);
    }
}

// 示例:WebSocket连接
function connectWebSocket() {
    client.setOpenHandler(() => {
        console.log('WebSocket connected');
    });
    
    client.setMessageHandler((message) => {
        console.log('Received message:', message);
    });
    
    client.setErrorHandler((error) => {
        console.error('Error:', error.message);
    });
    
    client.setCloseHandler(() => {
        console.log('WebSocket closed');
    });
    
    // 连接股票WebSocket
    client.connectStockWebSocket();
}

// 调用示例函数
getStockInfo();
getStockKline();
connectWebSocket();

API 方法

基础模块

  • getSymbolList() - 获取符号列表
  • getSymbolHolidays() - 获取节假日信息

股票模块

  • getStockInfo(region, code) - 获取股票信息
  • getStockIPO(region, code) - 获取股票IPO信息
  • getStockSplit(region, code) - 获取股票分拆信息
  • getStockTick(region, code) - 获取股票tick数据
  • getStockQuote(region, code) - 获取股票报价
  • getStockDepth(region, code) - 获取股票深度
  • getStockKline(region, code, period, limit, end = null) - 获取股票K线
  • getStockTicks(region, codes) - 批量获取股票tick数据
  • getStockQuotes(region, codes) - 批量获取股票报价
  • getStockDepths(region, codes) - 批量获取股票深度
  • getStockKlines(region, codes, period, limit, end = null) - 批量获取股票K线
  • connectStockWebSocket() - 连接股票WebSocket

指数模块

  • getIndicesTick(region, code) - 获取指数tick数据
  • getIndicesQuote(region, code) - 获取指数报价
  • getIndicesDepth(region, code) - 获取指数深度
  • getIndicesKline(region, code, period, limit, end = null) - 获取指数K线
  • getIndicesTicks(region, codes) - 批量获取指数tick数据
  • getIndicesQuotes(region, codes) - 批量获取指数报价
  • getIndicesDepths(region, codes) - 批量获取指数深度
  • getIndicesKlines(region, codes, period, limit, end = null) - 批量获取指数K线
  • connectIndicesWebSocket() - 连接指数WebSocket

期货模块

  • getFutureTick(region, code) - 获取期货tick数据
  • getFutureQuote(region, code) - 获取期货报价
  • getFutureDepth(region, code) - 获取期货深度
  • getFutureKline(region, code, period, limit, end = null) - 获取期货K线
  • getFutureTicks(region, codes) - 批量获取期货tick数据
  • getFutureQuotes(region, codes) - 批量获取期货报价
  • getFutureDepths(region, codes) - 批量获取期货深度
  • getFutureKlines(region, codes, period, limit, end = null) - 批量获取期货K线
  • connectFutureWebSocket() - 连接期货WebSocket

基金模块

  • getFundTick(region, code) - 获取基金tick数据
  • getFundQuote(region, code) - 获取基金报价
  • getFundDepth(region, code) - 获取基金深度
  • getFundKline(region, code, period, limit, end = null) - 获取基金K线
  • getFundTicks(region, codes) - 批量获取基金tick数据
  • getFundQuotes(region, codes) - 批量获取基金报价
  • getFundDepths(region, codes) - 批量获取基金深度
  • getFundKlines(region, codes, period, limit, end = null) - 批量获取基金K线
  • connectFundWebSocket() - 连接基金WebSocket

外汇模块

  • getForexTick(region, code) - 获取外汇tick数据
  • getForexQuote(region, code) - 获取外汇报价
  • getForexDepth(region, code) - 获取外汇深度
  • getForexKline(region, code, period, limit, end = null) - 获取外汇K线
  • getForexTicks(region, codes) - 批量获取外汇tick数据
  • getForexQuotes(region, codes) - 批量获取外汇报价
  • getForexDepths(region, codes) - 批量获取外汇深度
  • getForexKlines(region, codes, period, limit, end = null) - 批量获取外汇K线
  • connectForexWebSocket() - 连接外汇WebSocket

加密货币模块

  • getCryptoTick(region, code) - 获取加密货币tick数据
  • getCryptoQuote(region, code) - 获取加密货币报价
  • getCryptoDepth(region, code) - 获取加密货币深度
  • getCryptoKline(region, code, period, limit, end = null) - 获取加密货币K线
  • getCryptoTicks(region, codes) - 批量获取加密货币tick数据
  • getCryptoQuotes(region, codes) - 批量获取加密货币报价
  • getCryptoDepths(region, codes) - 批量获取加密货币深度
  • getCryptoKlines(region, codes, period, limit, end = null) - 批量获取加密货币K线
  • connectCryptoWebSocket() - 连接加密货币WebSocket

注意事项

  • JavaScript SDK支持浏览器端和Node.js端使用。
  • WebSocket功能在浏览器端和Node.js端都可以使用,包含自动重连和心跳机制。
  • 所有API方法都返回Promise,请确保在使用时进行适当的错误处理。

About

Javascript 语言版本的 iTick API SDK,提供基础、股票、指数、期货、基金、外汇、加密货币数据的 REST API 查询和 WebSocket 实时数据订阅功能。

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors