diff --git a/src/mocks/handlers/concept.js b/src/mocks/handlers/concept.js index 546043e3..8fda2180 100644 --- a/src/mocks/handlers/concept.js +++ b/src/mocks/handlers/concept.js @@ -49,7 +49,7 @@ const generateStocksForConcept = (seed, count = 4) => { }; // 生成热门概念数据 -const generatePopularConcepts = (size = 20) => { +export const generatePopularConcepts = (size = 20) => { const concepts = [ '人工智能', '新能源汽车', '半导体', '光伏', '锂电池', '储能', '氢能源', '风电', '特高压', '工业母机', diff --git a/src/mocks/handlers/event.js b/src/mocks/handlers/event.js index 8cd7a11b..dd7ccf35 100644 --- a/src/mocks/handlers/event.js +++ b/src/mocks/handlers/event.js @@ -4,6 +4,7 @@ import { http, HttpResponse } from 'msw'; import { getEventRelatedStocks, generateMockEvents, generateHotEvents, generatePopularKeywords, generateDynamicNewsEvents } from '../data/events'; import { getMockFutureEvents, getMockEventCountsForMonth } from '../data/account'; +import { generatePopularConcepts } from './concept'; // 模拟网络延迟 const delay = (ms = 300) => new Promise(resolve => setTimeout(resolve, ms)); @@ -183,6 +184,36 @@ export const eventHandlers = [ } }), + // 获取事件相关概念 + http.get('/api/events/:eventId/concepts', async ({ params }) => { + await delay(300); + + const { eventId } = params; + + console.log('[Mock] 获取事件相关概念, eventId:', eventId); + + try { + // 返回热门概念列表(模拟真实场景下根据事件标题搜索的结果) + const concepts = generatePopularConcepts(5); + + return HttpResponse.json({ + success: true, + data: concepts, + message: '获取成功' + }); + } catch (error) { + console.error('[Mock] 获取事件相关概念失败:', error); + return HttpResponse.json( + { + success: false, + error: '获取事件相关概念失败', + data: [] + }, + { status: 500 } + ); + } + }), + // 获取事件传导链分析数据 http.get('/api/events/:eventId/transmission', async ({ params }) => { await delay(500);