# stock-simulator-server **Repository Path**: narc/stock-simulator-server ## Basic Information - **Project Name**: stock-simulator-server - **Description**: No description available - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: main - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2025-09-02 - **Last Updated**: 2025-09-02 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # 股票历史数据API服务 ## 项目概述 本项目是一个基于Node.js和Koa2框架的股票历史数据API服务,旨在为前端提供统一的股票数据访问接口。 ## 系统功能 - 获取股票列表 - 搜索股票(支持代码和名称的部分匹配) - 获取股票历史数据 - 获取股票最新数据 ## 技术架构 - Node.js v14+ - Koa2 v2.13.4 - Koa-router v10.1.1 - koa-bodyparser v4.3.0 - sqlite3 v5.0.2 - Jest v27.4.3 ## 快速开始 ### 安装依赖 ```bash npm install ``` ### 启动服务 ```bash npm start ``` 服务将在 `http://localhost:5000` 上运行。 ## API 文档 ### 在线文档 API 文档使用 Swagger UI 提供,在服务启动后可以通过以下地址访问: ``` http://localhost:5000/api-docs ``` ### 生成文档 可以使用以下命令生成最新的 Swagger JSON 文档: ```bash npm run swagger ``` 生成的文档将保存在项目根目录下的 `swagger.json` 文件中。 ### APIfox 导入 如果需要在 APIfox 中使用该 API 文档,可以导入项目根目录下的 `swagger.json` 文件。 ### API 接口说明 #### 1. 获取股票列表 ``` GET /api/stocks ``` **参数:** - `page` (可选): 页码,默认为 1 - `limit` (可选): 每页数量,默认为 20,最大值为 100 - `date` (可选): 指定日期 (格式: YYYY-MM-DD),获取该日期的股票价格信息 #### 2. 搜索股票 ``` GET /api/stocks/search ``` **参数:** - `query` (必需): 搜索关键词 - `page` (可选): 页码,默认为 1 - `limit` (可选): 每页数量,默认为 20,最大值为 100 - `date` (可选): 指定日期 (格式: YYYY-MM-DD),获取该日期的股票价格信息 #### 3. 获取股票历史数据 ``` GET /api/stocks/{code}/history ``` **参数:** - `code` (必需): 股票代码 - `start_date` (可选): 开始日期 (格式: YYYY-MM-DD) - `end_date` (可选): 结束日期 (格式: YYYY-MM-DD) - `limit` (可选): 限制返回数据条数 #### 4. 获取股票最新数据 ``` GET /api/stocks/{code}/latest ``` **参数:** - `code` (必需): 股票代码 ## 开发 ### 本地开发 ```bash npm run dev ``` ### 运行测试 ```bash npm test ``` ## 配置 项目使用 `.env` 文件进行配置: - `PORT`: 服务端口,默认为 5000 - `DATA_SOURCE`: 数据源类型,可选值为 `csv` 或 `sqlite` - `CSV_DATA_PATH`: CSV 数据文件路径 - `DB_PATH`: SQLite 数据库文件路径 ## 许可证 MIT