From 644b592fe83b95ac537bb8c3f143ed48bc6b35ad Mon Sep 17 00:00:00 2001 From: "2569718930@qq.com" <2569718930@qq.com> Date: Fri, 15 May 2026 02:01:41 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E5=A4=8D=20MarketOverviewBanner=20?= =?UTF-8?q?=E6=9C=AA=E4=BD=BF=E7=94=A8=20fetchBackendApi=20=E5=AF=BC?= =?UTF-8?q?=E8=87=B4=E7=94=9F=E4=BA=A7=E7=8E=AF=E5=A2=83=20404?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 组件内裸 fetch() 请求到 Vercel 前端域名,缺少路由 handler 返回 404。 统一使用 fetchBackendApi() 走后端代理,其他 scan-terminal 组件已正确使用。 --- .../dashboard/scan-terminal/MarketOverviewBanner.tsx | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/frontend/components/dashboard/scan-terminal/MarketOverviewBanner.tsx b/frontend/components/dashboard/scan-terminal/MarketOverviewBanner.tsx index 527c56cd..6bb29e6c 100644 --- a/frontend/components/dashboard/scan-terminal/MarketOverviewBanner.tsx +++ b/frontend/components/dashboard/scan-terminal/MarketOverviewBanner.tsx @@ -3,6 +3,7 @@ import clsx from "clsx"; import { ChevronDown, ChevronUp, Sparkles } from "lucide-react"; import { useCallback, useEffect, useRef, useState } from "react"; +import { fetchBackendApi, buildBrowserBackendHeaders } from "@/lib/backend-api"; import styles from "./MarketOverviewBanner.module.css"; import type { ScanOpportunityRow } from "@/lib/dashboard-types"; @@ -34,9 +35,12 @@ export function MarketOverviewBanner({ setLoading(true); setError(false); try { - const resp = await fetch("/api/scan/terminal/overview", { + const headers = await buildBrowserBackendHeaders({ + "Content-Type": "application/json", + }); + const resp = await fetchBackendApi("/api/scan/terminal/overview", { method: "POST", - headers: { "Content-Type": "application/json" }, + headers, body: JSON.stringify({ rows: rows.slice(0, 40).map((row) => ({ city: row.city ?? row.display_name ?? "",