This version of Antigravity is no longer supported. Please upgrade to receive the latest features.

This commit is contained in:
2569718930@qq.com
2026-04-30 09:59:40 +08:00
parent 96dfb4c5b3
commit 6603515433
3 changed files with 68 additions and 3 deletions
@@ -1,6 +1,10 @@
"use client";
import { extractStreamingAirportRead } from "@/components/dashboard/scan-terminal/ai-city-stream";
import {
normalizeCityMarketScanPayload,
type CityMarketScanApiPayload,
} from "@/components/dashboard/scan-terminal/market-scan-state";
import type { AiCityForecastPayload } from "@/components/dashboard/scan-terminal/types";
import {
buildBrowserBackendHeaders,
@@ -292,7 +296,7 @@ async function getMarketScan(city: string, options: MarketScanQueryOptions = {})
if (options.marketSlug) params.set("market_slug", options.marketSlug);
if (options.lite != null) params.set("lite", String(options.lite));
const headers = await buildBrowserBackendHeaders({ Accept: "application/json" });
return readJsonOrThrow<MarketScan>(
const payload = await readJsonOrThrow<CityMarketScanApiPayload>(
`/api/city/${encodeURIComponent(city)}/market-scan?${params.toString()}`,
{
cache: "no-store",
@@ -300,6 +304,12 @@ async function getMarketScan(city: string, options: MarketScanQueryOptions = {})
signal: options.signal,
},
);
return (
normalizeCityMarketScanPayload(payload) ?? {
available: false,
reason: "No market scan payload returned.",
}
);
}
function runQueuedAiCityReadTask<T>(task: () => Promise<T>, onQueued?: () => void) {