From 77f6e36c1355cea68400dd83c4ccc9808da61c44 Mon Sep 17 00:00:00 2001 From: Sakurasan <26715255+Sakurasan@users.noreply.github.com> Date: Mon, 10 Aug 2026 20:40:33 +0800 Subject: [PATCH] =?UTF-8?q?fix:=20dailyGains=20=E7=B1=BB=E5=9E=8B=E7=B2=BE?= =?UTF-8?q?=E5=BA=A6=20+=20=E8=A1=A5=20try/catch=20=E4=B8=8E=20theme-api?= =?UTF-8?q?=20=E5=AF=B9=E9=BD=90?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/lib/core-stock-api.ts | 24 +++++++++++++++++------- 1 file changed, 17 insertions(+), 7 deletions(-) diff --git a/src/lib/core-stock-api.ts b/src/lib/core-stock-api.ts index 11b661e..94d5384 100644 --- a/src/lib/core-stock-api.ts +++ b/src/lib/core-stock-api.ts @@ -4,7 +4,7 @@ import { getApiBaseUrl } from "@/lib/api-client"; export interface ActiveCoreStock { stockCode: string; stockName: string; - dailyGains: Record; // 日期 -> 当日涨幅 + dailyGains: Record; // 日期 -> 当日涨幅(可空) appearCount: number; lastAppear: string | null; } @@ -33,15 +33,25 @@ export interface CoreStockHistoryResponse { /** 获取活跃核心股 + 最近10日涨幅矩阵 */ export async function fetchActiveCoreStocks(): Promise { const baseUrl = getApiBaseUrl(); - const resp = await fetch(`${baseUrl}/api/core-stocks/active`, { method: "GET", cache: "no-store" }); - if (!resp.ok) return { dates: [], stocks: [] }; - return resp.json(); + try { + const resp = await fetch(`${baseUrl}/api/core-stocks/active`, { method: "GET", cache: "no-store" }); + if (!resp.ok) return { dates: [], stocks: [] }; + return resp.json(); + } catch (err) { + console.error("[core-stock-api] 获取活跃核心股失败:", err); + return { dates: [], stocks: [] }; + } } /** 获取指定交易日核心股(含所属题材) */ export async function fetchCoreStockHistory(date: string): Promise { const baseUrl = getApiBaseUrl(); - const resp = await fetch(`${baseUrl}/api/core-stocks/history?date=${date}`, { method: "GET", cache: "no-store" }); - if (!resp.ok) return null; - return resp.json(); + try { + const resp = await fetch(`${baseUrl}/api/core-stocks/history?date=${date}`, { method: "GET", cache: "no-store" }); + if (!resp.ok) return null; + return resp.json(); + } catch (err) { + console.error("[core-stock-api] 获取核心股历史失败:", err); + return null; + } }