From 846ed816e5afc0f53e2348e61e376287610bc05a Mon Sep 17 00:00:00 2001 From: zdl <3489966805@qq.com> Date: Thu, 4 Dec 2025 16:51:07 +0800 Subject: [PATCH] =?UTF-8?q?feat:=20=E7=94=B0=E9=97=B4mock=E6=95=B0?= =?UTF-8?q?=E6=8D=AE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/mocks/handlers/stock.js | 39 +++++++++++++++++++++++++++++++++++++ 1 file changed, 39 insertions(+) diff --git a/src/mocks/handlers/stock.js b/src/mocks/handlers/stock.js index 701c97f0..f7825a9b 100644 --- a/src/mocks/handlers/stock.js +++ b/src/mocks/handlers/stock.js @@ -123,6 +123,45 @@ const generateStockList = () => { // 股票相关的 Handlers export const stockHandlers = [ + // 搜索股票(个股中心页面使用) + http.get('/api/stocks/search', async ({ request }) => { + await delay(200); + + const url = new URL(request.url); + const query = url.searchParams.get('q') || ''; + const limit = parseInt(url.searchParams.get('limit') || '10'); + + console.log('[Mock Stock] 搜索股票:', { query, limit }); + + const stocks = generateStockList(); + + // 如果没有搜索词,返回空结果 + if (!query.trim()) { + return HttpResponse.json({ + success: true, + data: [] + }); + } + + // 过滤匹配的股票 + const results = stocks.filter(s => + s.code.includes(query) || s.name.includes(query) + ).slice(0, limit); + + // 返回格式化数据 + return HttpResponse.json({ + success: true, + data: results.map(s => ({ + stock_code: s.code, + stock_name: s.name, + market: s.code.startsWith('6') ? 'SH' : 'SZ', + industry: ['银行', '证券', '保险', '白酒', '医药', '科技', '新能源', '汽车', '地产', '家电'][Math.floor(Math.random() * 10)], + change_pct: parseFloat((Math.random() * 10 - 3).toFixed(2)), + price: parseFloat((Math.random() * 100 + 5).toFixed(2)) + })) + }); + }), + // 获取所有股票列表 http.get('/api/stocklist', async () => { await delay(200);