fix(klineDataCache): 修复 K线类型参数错误导致的 400 错误
**问题描述**
MiniTimelineChart 组件加载时,K线数据请求失败:
- 错误: `HTTP error! status: 400`
- 响应: `{"error":"不支持的类型"}`
- 请求: `GET /api/stock/{code}/kline?type=minute`
**根本原因**
klineDataCache.js 使用了错误的 K线类型参数:
- ❌ 使用: `'minute'`
- ✅ 应为: `'timeline'`
根据 API 文档 (MOCK_API_DOCS.md),后端支持的类型:
- `'timeline'` - 分时图
- `'daily'` - 日K线
- `'weekly'` - 周K线
- `'monthly'` - 月K线
**修复内容**
### 1. src/views/Community/components/StockDetailPanel/utils/klineDataCache.js
```diff
const requestPromise = stockService
- .getKlineData(stockCode, 'minute', normalizedEventTime)
+ .getKlineData(stockCode, 'timeline', normalizedEventTime)
.then((res) => {
```
### 2. docs/StockDetailPanel_BUSINESS_LOGIC.md
更新文档中的 K线类型说明:
```diff
- **K线类型**: 'minute' (分时), 'day' (日K), 'week' (周K), 'month' (月K)
+ **K线类型**: 'timeline' (分时), 'daily' (日K), 'weekly' (周K), 'monthly' (月K)
```
更新代码示例:
```diff
const requestPromise = stockService
- .getKlineData(stockCode, 'minute', eventTime)
+ .getKlineData(stockCode, 'timeline', eventTime)
```
**验证**
- ✅ 与 MidjourneyHeroSection.js 中的用法保持一致
- ✅ 符合 MOCK_API_DOCS.md 规范
- ✅ 消除控制台 400 错误
**影响范围**
- StockDetailPanel 中的 MiniTimelineChart 组件
- 所有使用 fetchKlineData 的地方
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
@@ -76,7 +76,7 @@ export const fetchKlineData = async (stockCode, eventTime) => {
|
||||
logger.debug('klineDataCache', '发起新K线数据请求', { cacheKey });
|
||||
const normalizedEventTime = eventTime ? moment(eventTime).format('YYYY-MM-DD HH:mm') : undefined;
|
||||
const requestPromise = stockService
|
||||
.getKlineData(stockCode, 'minute', normalizedEventTime)
|
||||
.getKlineData(stockCode, 'timeline', normalizedEventTime)
|
||||
.then((res) => {
|
||||
const data = Array.isArray(res?.data) ? res.data : [];
|
||||
// 更新缓存
|
||||
|
||||
Reference in New Issue
Block a user