diff --git a/src/services/ztStaticService.js b/src/services/ztStaticService.js index ebd18e42..62bf0472 100644 --- a/src/services/ztStaticService.js +++ b/src/services/ztStaticService.js @@ -69,7 +69,35 @@ export const fetchDailyAnalysis = async (date) => { throw new Error(`HTTP ${response.status}`); } - const data = await response.json(); + const rawData = await response.json(); + + // 转换数据结构:将 stock_codes 替换为完整的 stocks 对象数组 + // 创建股票代码到股票对象的映射 + const stockMap = {}; + (rawData.stocks || []).forEach(stock => { + stockMap[stock.scode] = stock; + }); + + // 转换 sector_data 中的 stock_codes 为 stocks + const transformedSectorData = {}; + if (rawData.sector_data) { + Object.entries(rawData.sector_data).forEach(([sectorName, sectorInfo]) => { + const stockCodes = sectorInfo.stock_codes || []; + const stocks = stockCodes + .map(code => stockMap[code]) + .filter(Boolean); // 过滤掉未找到的股票 + + transformedSectorData[sectorName] = { + count: sectorInfo.count, + stocks: stocks, + }; + }); + } + + const data = { + ...rawData, + sector_data: transformedSectorData, + }; // 缓存结果 cache.daily.set(date, data);