# Ashare SDK (TypeScript)

中国股市A股股票行情实时数据最简封装API接口，包含日线、分时分钟线，全部格式成DataFrame格式数据，可用于研究、量化分析，证券股票程序化自动化交易系统行情系统包括新浪腾讯双数据核心，自动故障切换，为量化在数据获取方面极大地减少工作量，更加专注于策略和模型的研究与实现。



python原项目地址:https://github.com/mpquant/Ashare

感谢原项目的Ashare作者

## 安装

使用 npm 安装 SDK：

```bash
npm install ashare-sdk-ts
```

## 使用方法

### 获取股票行情数据

```typescript
import { get_price } from 'ashare-sdk-ts';

async function fetchDataExamples() {
  try {
    // 示例 1: 获取上证指数日线数据 (使用默认参数: count=10, frequency='1d')
    const shIndexDefault = await get_price('sh000001');
    console.log('上证指数日线 (默认):', shIndexDefault.slice(0, 3)); // 打印前3条

    // 示例 2: 获取上证指数日线数据 (指定 count=5)
    const shIndex5 = await get_price('sh000001', '', 5);
    console.log('上证指数日线 (count=5):', shIndex5);

    // 示例 3: 获取上证指数历史日线数据 (指定 end_date 和 count)
    // 注意: end_date 仅对 '1d', '1w', '1M' 有效
    const shIndexHist = await get_price('000001.XSHG', '2023-12-31', 5, '1d');
    console.log('上证指数历史日线 (end_date="2023-12-31", count=5):', shIndexHist);

    // 示例 4: 获取贵州茅台15分钟线数据 (指定 count=5, frequency='15m')
    const kweiChow15m = await get_price('sh600519', '', 5, '15m');
    console.log('贵州茅台15分钟线 (count=5):', kweiChow15m.slice(0, 3)); // 打印前3条

  } catch (error) {
    console.error('获取数据时发生错误:', error);
  }
}

fetchDataExamples();
```

### 计算技术指标

```typescript
import { get_price, BOLL, StockData } from 'ashare-sdk-ts'; // 从安装的包导入主入口函数
import { MA } from 'ashare-sdk-ts/dist/utils'; // 从包的 utils 模块导入 MA
async function calculateIndicators() {
  try {
    // 1. 获取足够的数据用于计算指标 (例如，获取最近120条日线数据)
    const stockHistory: StockData[] = await get_price('000001.XSHG', '', 120, '1d');

    if (stockHistory.length > 0) {
      // 2. 从获取的数据中提取所需序列 (例如，收盘价)
      const closePrices = stockHistory.map(item => item.close);

      // 3. 使用提取的序列计算指标
      // 计算 MA5 和 MA10
      const ma5 = MA(closePrices, 5);
      const ma10 = MA(closePrices, 10);
      console.log('MA5 (最后5条):', ma5.slice(-5).map(v => v?.toFixed(2)));
      console.log('MA10 (最后5条):', ma10.slice(-5).map(v => v?.toFixed(2)));

      // 计算 BOLL 指标 (默认 N=20)
      const [bollUp, bollMid, bollLower] = BOLL(closePrices);
      console.log('BOLL Upper (最后5条):', bollUp.slice(-5).map(v => v?.toFixed(2)));
      console.log('BOLL Mid (最后5条):', bollMid.slice(-5).map(v => v?.toFixed(2)));
      console.log('BOLL Lower (最后5条):', bollLower.slice(-5).map(v => v?.toFixed(2)));

      // 其他指标计算类似...
      // const kdjResult = KDJ(stockHistory.map(i=>i.close), stockHistory.map(i=>i.high), stockHistory.map(i=>i.low));
      // console.log('KDJ K (最后5条):', kdjResult.K.slice(-5).map(v => v?.toFixed(2)));

    } else {
      console.log('未能获取足够的历史数据来计算指标。');
    }
  } catch (error) {
    console.error('计算指标时发生错误:', error);
  }
}

calculateIndicators();
```

### 获取所有A股股票列表

`get_all_stocks` 函数用于获取当前所有 A 股（沪深京）上市公司的基本信息列表，包括股票代码、名称等。

```typescript
import { get_all_stocks, StockInfo } from 'ashare-sdk-ts';

async function fetchAllStocksExample() {
  try {
    console.log('正在获取所有A股股票列表...');
    // 调用函数获取所有股票信息
    const allStocks: StockInfo[] = await get_all_stocks();

    if (allStocks && allStocks.length > 0) {
      console.log(`成功获取到 ${allStocks.length} 只股票的基本信息。`);
      console.log('前 5 只股票信息:');
      // 打印前5只股票的代码和名称
      allStocks.slice(0, 5).forEach(stock => {
        console.log(`  代码: ${stock.code}, 名称: ${stock.name}`);
      });
    } else {
      console.log('未能获取到股票列表或列表为空。');
    }
  } catch (error) {
    console.error('获取所有股票列表时发生错误:', error);
  }
}

fetchAllStocksExample();
```

上述示例代码演示了如何调用 `get_all_stocks` 函数，并处理返回的股票信息数组。它会打印获取到的股票总数以及列表中的前几只股票的代码和名称。

## API 文档

### `get_price(code: string, end_date: string = '', count: number = 10, frequency: '1d' | '1w' | '1M' | '1m' | '5m' | '15m' | '30m' | '60m' = '1d'): Promise<StockData[]>`

获取股票行情数据。

- `code`: 股票代码 (例如 'sh000001')
- `end_date`: 结束日期 (格式 'YYYY-MM-DD')，默认为空字符串。仅对日线('1d')、周线('1w')、月线('1M')频率有效，用于获取指定日期及之前的数据。对于分钟线频率无效。
- `count`: 获取的数据条数，默认为 10。
- `frequency`: 数据频率，支持 '1d'(日线), '1w'(周线), '1M'(月线), '1m', '5m', '15m', '30m', '60m'(分钟线)，默认为 '1d'。
- 返回: `Promise<StockData[]>` 股票行情数据数组

### 工具函数 (utils.ts)

- `RD(N: number, D: number = 3): number`: 四舍五入取指定位数小数。
- `RET(S: number[], N: number = 1): number | undefined`: 返回序列倒数第N个值。
- `ABS(S: number[]): number[]`: 返回序列中每个数值的绝对值。
- `MAX(S1: number[], S2: number[]): number[]`: 返回两个序列对应位置的最大值。
- `MIN(S1: number[], S2: number[]): number[]`: 返回两个序列对应位置的最小值。
- `MA(S: number[], N: number): number[]`: 求序列的N日平均值，返回序列。
- `REF(S: number[], N: number = 1): number[]`: 对序列整体下移动N,返回序列(shift后会产生NAN)。
- `DIFF(S: number[], N: number = 1): number[]`: 前一个值减后一个值,前面会产生nan。
- `STD(S: number[], N: number): number[]`: 求序列的N日标准差，返回序列。
- `IF(S_BOOL: boolean[], S_TRUE: any[], S_FALSE: any[]): any[]`: 序列布尔判断 res=S_TRUE if S_BOOL==True else S_FALSE。
- `SUM(S: number[], N: number): number[]`: 对序列求N天累计和，返回序列。
- `HHV(S: number[], N: number): number[]`: 最近N天最高价。
- `LLV(S: number[], N: number): number[]`: 最近N天最低价。
- `EMA(S: number[], N: number): number[]`: 指数移动平均。
- `SMA(S: number[], N: number, M: number = 1): number[]`: 中国式的SMA。
- `AVEDEV(S: number[], N: number): number[]`: 平均绝对偏差 (序列与其平均值的绝对差的平均值)。
- `SLOPE(S: number[], N: number, RS: boolean = false): number | number[]`: 返回S序列N周期回线性回归斜率。
- `FORCAST(S: number[], N: number): number`: 返回S序列N周期回线性回归后的预测值。
- `CROSS(S1: number[], S2: number[]): boolean[]`: 判断穿越 CROSS(MA(C,5),MA(C,10))。
- `COUNT(S_BOOL: boolean[], N: number): number[]`: 最近N天满足S_BOO的天数 True的天数。
- `EVERY(S_BOOL: boolean[], N: number): boolean[]`: 最近N天是否都是True。
- `LAST(S_BOOL: boolean[], A: number, B: number): boolean`: 从前A日到前B日一直满足S_BOOL条件。
- `EXIST(S_BOOL: boolean[], N: number = 5): boolean[]`: n日内是否存在一天大于3000点。
- `BARSLAST(S_BOOL: boolean[]): number`: 上一次条件成立到当前的周期。

### 技术指标函数 (indicators.ts)

- `MACD(close: number[], short: number = 12, long: number = 26, mid: number = 9): { DIF: number[], DEA: number[], MACD: number[] }`: 计算 MACD 指标。
- `KDJ(close: number[], high: number[], low: number[], N: number = 9, M1: number = 3, M2: number = 3): { K: number[], D: number[], J: number[] }`: 计算 KDJ 指标。
- `RSI(close: number[], N: number = 6): number[]`: 计算 RSI 指标。
- `WR(close: number[], high: number[], low: number[], N: number = 10, N1: number = 6): number[]`: 计算 WR 指标。
- `BIAS(close: number[], N: number = 6): number[]`: 计算 BIAS 指标。
- `BOLL(close: number[], N: number = 20): { MID: number[], UPPER: number[], LOWER: number[] }`: 计算 BOLL 指标。
- `PSY(close: number[], N: number = 12): number[]`: 计算 PSY 指标。
- `CCI(close: number[], high: number[], low: number[], N: number = 14): number[]`: 计算 CCI 指标。
- `ATR(close: number[], high: number[], low: number[], N: number = 14): number[]`: 计算 ATR 指标。
- `BBI(close: number[], M1: number = 3, M2: number = 6, M3: number = 12, M4: number = 24): number[]`: 计算 BBI 指标。
- `DMI(close: number[], high: number[], low: number[], N: number = 14, M: number = 6): { PDI: number[], MDI: number[], ADX: number[], ADXR: number[] }`: 计算 DMI 指标。
- `TAQ(high: number[], low: number[], N: number = 14): number[]`: 计算 TAQ 指标。
- `TRIX(close: number[], N: number = 12, M: number = 20): { TRIX: number[], MATRIX: number[] }`: 计算 TRIX 指标。
- `VR(close: number[], volume: number[], N: number = 26, M: number = 6): { VR: number[], MAVR: number[] }`: 计算 VR 指标。
- `EMV(high: number[], low: number[], volume: number[], N: number = 14, M: number = 9): { EMV: number[], MAEMV: number[] }`: 计算 EMV 指标。
- `DPO(close: number[], N: number = 20, M: number = 6): number[]`: 计算 DPO 指标。
- `BRAR(open: number[], high: number[], low: number[], close: number[], N: number = 26): { BR: number[], AR: number[] }`: 计算 BRAR 指标。
- `DMA(close: number[], A: number = 10, B: number = 50, M: number = 10): { DMA: number[], AMA: number[] }`: 计算 DMA 指标。
- `MTM(close: number[], N: number = 12, M: number = 6): { MTM: number[], MTMMA: number[] }`: 计算 MTM 指标。
- `ROC(close: number[], N: number = 12, M: number = 6): { ROC: number[], ROCMA: number[] }`: 计算 ROC 指标。

## 输出
```
开始运行 Ashare SDK TypeScript Demo...

--- 上证指数日线行情 (默认) ---
数据条数: 10
前 3 条数据:
┌─────────┬──────────────────────────┬──────────┬──────────┬──────────┬──────────┬─────────────┐
│ (index) │ time                     │ open     │ close    │ high     │ low      │ volume      │
├─────────┼──────────────────────────┼──────────┼──────────┼──────────┼──────────┼─────────────┤
│ 0       │ 2025-04-14T00:00:00.000Z │ 3251.978 │ 3262.808 │ 3272.72  │ 3244.733 │ 47137322000 │
│ 1       │ 2025-04-15T00:00:00.000Z │ 3260.685 │ 3267.662 │ 3268.985 │ 3246.337 │ 39666289500 │
│ 2       │ 2025-04-16T00:00:00.000Z │ 3267.665 │ 3276.004 │ 3276.005 │ 3233.791 │ 42953485400 │
└─────────┴──────────────────────────┴──────────┴──────────┴──────────┴──────────┴─────────────┘
后 3 条数据:
┌─────────┬──────────────────────────┬──────────┬──────────┬──────────┬──────────┬─────────────┐
│ (index) │ time                     │ open     │ close    │ high     │ low      │ volume      │
├─────────┼──────────────────────────┼──────────┼──────────┼──────────┼──────────┼─────────────┤
│ 0       │ 2025-04-23T00:00:00.000Z │ 3308.151 │ 3296.355 │ 3312.192 │ 3293.063 │ 41163321200 │
│ 1       │ 2025-04-24T00:00:00.000Z │ 3295.149 │ 3297.288 │ 3313.509 │ 3286.236 │ 39284474900 │
│ 2       │ 2025-04-25T00:00:00.000Z │ 3300.392 │ 3295.06  │ 3305.262 │ 3288.755 │ 41104319200 │
└─────────┴──────────────────────────┴──────────┴──────────┴──────────┴──────────┴─────────────┘
--- End ---

--- 上证指数日线行情 (count=5) ---
数据条数: 5
前 3 条数据:
┌─────────┬──────────────────────────┬──────────┬──────────┬──────────┬──────────┬─────────────┐
│ (index) │ time                     │ open     │ close    │ high     │ low      │ volume      │
├─────────┼──────────────────────────┼──────────┼──────────┼──────────┼──────────┼─────────────┤
│ 0       │ 2025-04-21T00:00:00.000Z │ 3273.138 │ 3291.434 │ 3298.64  │ 3270.013 │ 37930758800 │
│ 1       │ 2025-04-22T00:00:00.000Z │ 3289.166 │ 3299.757 │ 3311.153 │ 3288.332 │ 40316761500 │
│ 2       │ 2025-04-23T00:00:00.000Z │ 3308.151 │ 3296.355 │ 3312.192 │ 3293.063 │ 41163321200 │
└─────────┴──────────────────────────┴──────────┴──────────┴──────────┴──────────┴─────────────┘
后 3 条数据:
┌─────────┬──────────────────────────┬──────────┬──────────┬──────────┬──────────┬─────────────┐
│ (index) │ time                     │ open     │ close    │ high     │ low      │ volume      │
├─────────┼──────────────────────────┼──────────┼──────────┼──────────┼──────────┼─────────────┤
│ 0       │ 2025-04-23T00:00:00.000Z │ 3308.151 │ 3296.355 │ 3312.192 │ 3293.063 │ 41163321200 │
│ 1       │ 2025-04-24T00:00:00.000Z │ 3295.149 │ 3297.288 │ 3313.509 │ 3286.236 │ 39284474900 │
│ 2       │ 2025-04-25T00:00:00.000Z │ 3300.392 │ 3295.06  │ 3305.262 │ 3288.755 │ 41104319200 │
└─────────┴──────────────────────────┴──────────┴──────────┴──────────┴──────────┴─────────────┘
--- End ---

--- 上证指数历史日线行情 (end_date="2023-12-31", count=5) ---
数据条数: 5
前 3 条数据:
┌─────────┬──────────────────────────┬──────────┬──────────┬──────────┬──────────┬─────────────┐
│ (index) │ time                     │ open     │ close    │ high     │ low      │ volume      │
├─────────┼──────────────────────────┼──────────┼──────────┼──────────┼──────────┼─────────────┤
│ 0       │ 2023-12-25T00:00:00.000Z │ 2909.875 │ 2918.813 │ 2920.632 │ 2903.987 │ 22981417800 │
│ 1       │ 2023-12-26T00:00:00.000Z │ 2917.971 │ 2898.879 │ 2917.971 │ 2892.837 │ 22814085500 │
│ 2       │ 2023-12-27T00:00:00.000Z │ 2900.149 │ 2914.614 │ 2917.956 │ 2890.165 │ 24790088200 │
└─────────┴──────────────────────────┴──────────┴──────────┴──────────┴──────────┴─────────────┘
后 3 条数据:
┌─────────┬──────────────────────────┬──────────┬──────────┬──────────┬──────────┬─────────────┐
│ (index) │ time                     │ open     │ close    │ high     │ low      │ volume      │
├─────────┼──────────────────────────┼──────────┼──────────┼──────────┼──────────┼─────────────┤
│ 0       │ 2023-12-27T00:00:00.000Z │ 2900.149 │ 2914.614 │ 2917.956 │ 2890.165 │ 24790088200 │
│ 1       │ 2023-12-28T00:00:00.000Z │ 2913.11  │ 2954.704 │ 2961.648 │ 2909.389 │ 33921311600 │
│ 2       │ 2023-12-29T00:00:00.000Z │ 2950.837 │ 2974.935 │ 2975.032 │ 2950.017 │ 29067268700 │
└─────────┴──────────────────────────┴──────────┴──────────┴──────────┴──────────┴─────────────┘
--- End ---

--- 贵州茅台15分钟线 (count=5) ---
数据条数: 5
前 3 条数据:
┌─────────┬──────────────────────────┬─────────┬─────────┬─────────┬─────────┬────────┐
│ (index) │ time                     │ open    │ close   │ high    │ low     │ volume │
├─────────┼──────────────────────────┼─────────┼─────────┼─────────┼─────────┼────────┤
│ 0       │ 2025-04-25T06:00:00.000Z │ 1553.74 │ 1552.83 │ 1555.08 │ 1552.25 │ 49565  │
│ 1       │ 2025-04-25T06:15:00.000Z │ 1553.04 │ 1551.07 │ 1553.04 │ 1550    │ 135635 │
│ 2       │ 2025-04-25T06:30:00.000Z │ 1551.07 │ 1552.96 │ 1552.96 │ 1551.01 │ 49950  │
└─────────┴──────────────────────────┴─────────┴─────────┴─────────┴─────────┴────────┘
后 3 条数据:
┌─────────┬──────────────────────────┬─────────┬─────────┬─────────┬─────────┬────────┐
│ (index) │ time                     │ open    │ close   │ high    │ low     │ volume │
├─────────┼──────────────────────────┼─────────┼─────────┼─────────┼─────────┼────────┤
│ 0       │ 2025-04-25T06:30:00.000Z │ 1551.07 │ 1552.96 │ 1552.96 │ 1551.01 │ 49950  │
│ 1       │ 2025-04-25T06:45:00.000Z │ 1552.96 │ 1552.13 │ 1554.95 │ 1552.02 │ 71400  │
│ 2       │ 2025-04-25T07:00:00.000Z │ 1552.14 │ 1550    │ 1552.14 │ 1550    │ 188570 │
└─────────┴──────────────────────────┴─────────┴─────────┴─────────┴─────────┴────────┘
--- End ---

--- 贵州茅台60分钟线 (count=6) ---
数据条数: 6
前 3 条数据:
┌─────────┬──────────────────────────┬─────────┬─────────┬─────────┬─────────┬────────┐
│ (index) │ time                     │ open    │ close   │ high    │ low     │ volume │
├─────────┼──────────────────────────┼─────────┼─────────┼─────────┼─────────┼────────┤
│ 0       │ 2025-04-24T06:00:00.000Z │ 1554.23 │ 1553.34 │ 1557.88 │ 1552.8  │ 208010 │
│ 1       │ 2025-04-24T07:00:00.000Z │ 1553.93 │ 1552.25 │ 1554.7  │ 1552.25 │ 270528 │
│ 2       │ 2025-04-25T02:30:00.000Z │ 1557.1  │ 1554.18 │ 1561.2  │ 1552.8  │ 535596 │
└─────────┴──────────────────────────┴─────────┴─────────┴─────────┴─────────┴────────┘
后 3 条数据:
┌─────────┬──────────────────────────┬─────────┬─────────┬─────────┬─────────┬────────┐
│ (index) │ time                     │ open    │ close   │ high    │ low     │ volume │
├─────────┼──────────────────────────┼─────────┼─────────┼─────────┼─────────┼────────┤
│ 0       │ 2025-04-25T03:30:00.000Z │ 1554.17 │ 1556.1  │ 1558.03 │ 1551.58 │ 291569 │
│ 1       │ 2025-04-25T06:00:00.000Z │ 1556.89 │ 1552.83 │ 1557.96 │ 1552.25 │ 203770 │
│ 2       │ 2025-04-25T07:00:00.000Z │ 1553.04 │ 1550    │ 1554.95 │ 1550    │ 445555 │
└─────────┴──────────────────────────┴─────────┴─────────┴─────────┴─────────┴────────┘
--- End ---

--- 上证指数日线行情 (count=120) ---
数据条数: 120
前 3 条数据:
┌─────────┬──────────────────────────┬──────────┬──────────┬──────────┬──────────┬─────────────┐
│ (index) │ time                     │ open     │ close    │ high     │ low      │ volume      │
├─────────┼──────────────────────────┼──────────┼──────────┼──────────┼──────────┼─────────────┤
│ 0       │ 2024-10-30T00:00:00.000Z │ 3273.642 │ 3266.238 │ 3291.68  │ 3244.806 │ 66901809000 │
│ 1       │ 2024-10-31T00:00:00.000Z │ 3267.975 │ 3279.824 │ 3295.742 │ 3252.39  │ 78464909400 │
│ 2       │ 2024-11-01T00:00:00.000Z │ 3275.577 │ 3272.014 │ 3305.318 │ 3258.735 │ 85205532000 │
└─────────┴──────────────────────────┴──────────┴──────────┴──────────┴──────────┴─────────────┘
后 3 条数据:
┌─────────┬──────────────────────────┬──────────┬──────────┬──────────┬──────────┬─────────────┐
│ (index) │ time                     │ open     │ close    │ high     │ low      │ volume      │
├─────────┼──────────────────────────┼──────────┼──────────┼──────────┼──────────┼─────────────┤
│ 0       │ 2025-04-23T00:00:00.000Z │ 3308.151 │ 3296.355 │ 3312.192 │ 3293.063 │ 41163321200 │
│ 1       │ 2025-04-24T00:00:00.000Z │ 3295.149 │ 3297.288 │ 3313.509 │ 3286.236 │ 39284474900 │
│ 2       │ 2025-04-25T00:00:00.000Z │ 3300.392 │ 3295.06  │ 3305.262 │ 3288.755 │ 41104319200 │
└─────────┴──────────────────────────┴──────────┴──────────┴──────────┴──────────┴─────────────┘
--- End ---

--- 提取的收盘价序列 ---
数据条数: 120
前 5 条数据: [ '3266.24', '3279.82', '3272.01', '3310.21', '3386.99' ]
后 5 条数据: [ '3291.43', '3299.76', '3296.36', '3297.29', '3295.06' ]
--- End ---

--- MA5 指标 ---
数据条数: 120
前 5 条数据: [ 'NaN', 'NaN', 'NaN', 'NaN', '3303.05' ]
后 5 条数据: [ '3278.43', '3284.85', '3288.92', '3292.31', '3295.98' ]
--- End ---

--- MA10 指标 ---
数据条数: 120
前 5 条数据: [ 'NaN', 'NaN', 'NaN', 'NaN', 'NaN' ]
后 5 条数据: [ '3244.92', '3260.34', '3271.30', '3278.66', '3284.34' ]
--- End ---

--- BOLL 指标 (UP, MID, LOWER) ---
指标组数量: 3
指标 1 (前 5 条): [ 'NaN', 'NaN', 'NaN', 'NaN', 'NaN' ]
指标 1 (后 5 条): [ '3442.20', '3434.18', '3425.43', '3416.41', '3405.61' ]
指标 2 (前 5 条): [ 'NaN', 'NaN', 'NaN', 'NaN', 'NaN' ]
指标 2 (后 5 条): [ '3287.79', '3284.28', '3280.60', '3277.03', '3273.09' ]
指标 3 (前 5 条): [ 'NaN', 'NaN', 'NaN', 'NaN', 'NaN' ]
指标 3 (后 5 条): [ '3133.38', '3134.38', '3135.77', '3137.64', '3140.58' ]
--- End ---

正在获取所有股票列表...

--- 获取所有股票列表 ---
获取到的股票总数: 8829
前 5 只股票:
┌─────────┬──────────┬────────────┐
│ (index) │ code     │ name       │
├─────────┼──────────┼────────────┤
│ 0       │ '600000' │ '浦发银行' │
│ 1       │ '600001' │ '邯郸钢铁' │
│ 2       │ '600002' │ '齐鲁石化' │
│ 3       │ '600003' │ 'ST东北高' │
│ 4       │ '600004' │ '白云机场' │
└─────────┴──────────┴────────────┘
后 5 只股票:
┌─────────┬─────────┬────────────────┐
│ (index) │ code    │ name           │
├─────────┼─────────┼────────────────┤
│ 0       │ '83690' │ '美团-WR'      │
│ 1       │ '86618' │ '京东健康-R'   │
│ 2       │ '89618' │ '京东集团-SWR' │
│ 3       │ '89888' │ '百度集团-SWR' │
│ 4       │ '89988' │ '阿里巴巴-WR'  │
└─────────┴─────────┴────────────────┘
--- End ---

Ashare SDK TypeScript Demo 运行结束。
```

## 示例

请参考 `demo.ts` ，了解如何使用各个函数。

## 贡献

欢迎贡献代码！请提交 Pull Request。

## 许可证

本项目采用 MIT 许可证。