stock-rust 0.1.0

Rust version of stock-api
Documentation

stock-rust

stock-api 的 Rust 迁移版本(异步)。

功能

  • 统一股票代码格式:SHxxxxxx / SZxxxxxx / HKxxxxxx / USxxxxxx
  • 数据源:neteasetencentsinaxueqiu
  • 统一接口:
    • get_stock(code)
    • get_stocks(codes)
    • search_stocks(key)

使用示例

use stock_rust::{StockApi, Stocks};

#[tokio::main]
async fn main() -> anyhow::Result<()> {
    let stocks = Stocks::new()?;

    let one = stocks.netease.get_stock("SH510500").await?;
    println!("{:?}", one);

    let list = stocks
        .tencent
        .get_stocks(&vec!["SH510500".into(), "SZ000001".into()])
        .await?;
    println!("{:?}", list);

    Ok(())
}

模块结构

  • src/types.rsStockStockApi trait
  • src/stocks/mod.rs:统一入口 Stocks
  • src/stocks/base/mod.rs:公共常量与工具函数
  • src/stocks/transforms/*.rs:独立的 api-code/common-code 双向转换器 + 搜索代码转换策略
  • src/stocks/{netease,tencent,sina,xueqiu}/mod.rs:各数据源实现

说明

当前环境未安装 Rust 工具链,无法在此直接执行 cargo check。 本地验证命令:

cargo check
cargo test
cargo run --example basic

联网测试(默认忽略)在 tests/live_api.rs

cargo test -- --ignored