trade-policy)是仪表盘上获取实时贸易政策上下文的首选面 — 什么正在被限制、关税走向如何、流如何变化、存在哪些壁垒,以及美国海关收入如何作为关税传导的实时信号。
面板显示内容
一个数据密集型面板(defaultRowSpan: 2)的六个标签页:
TabId 是联合类型 'restrictions' | 'tariffs' | 'flows' | 'barriers' | 'revenue' | 'comtrade'(src/components/TradePolicyPanel.ts:17)。
面板 id 为 trade-policy;规范组件为 src/components/TradePolicyPanel.ts。标题从 i18n 解析(panels.tradePolicy)。
如何访问
- Cmd+K:输入 trade、tariff 或 customs。
- 按变体的可用性:在 full/geopolitical(
priority: 1)、finance(priority: 1)和 commodity(priority: 1)变体中注册并默认启用。在 tech 或 happy 变体中不存在。来源:src/config/panels.ts中FULL_PANELS、FINANCE_PANELS、COMMODITY_PANELS的'trade-policy'条目。
数据来源
来自@/services/trade 的六种响应形状,均由 TradeService 中生成的 sebuf REST RPC 支持。面板外壳免费;关税趋势与 Comtrade 调用使用 premiumFetch,因为这两条路径是付费传输路径,而限制、流、壁垒与海关收入使用公开客户端。海关收入还会在回退到 RPC 之前检查 bootstrap 缓存键 customsRevenue。
revenue 标签页的美国财政部数据源特别敏感 — 请参见更新日志中 “US Treasury customs revenue in Trade Policy panel” 条目(#1663)。
贸易流覆盖范围
get-trade-flows 完全由 Railway 种子数据提供服务,请求时从不调用 WTO。种子中包含的内容就是全部受支持的空间:
- 申报国(reporter) — WTO
/reporters端点公布的任意 3 位 UN M49 代码。为空时默认为840(美国)。 - 伙伴国(partner) — 仅
000(世界)。支撑这些数据行的 WTO 指标ITS_MTV_AX与ITS_MTV_AM只发布世界总计,对任何具名伙伴国均返回 HTTP 204,因此无法获得任何双边组合。为空时默认为000。 - 年数(years) —
1–30,包含首尾两端(years=10返回 11 个日历年)。种子按申报国保存完整的 30 年窗口,由处理器切片,因此所有回溯窗口都由同一次抓取提供服务。0表示使用默认值10。
years 会返回 HTTP 400,而不是被默认值静默替换。种子无法回答的合法请求会返回空 flows 以及来自封闭词汇表的 unavailableReason,从而将覆盖缺口与故障区分开:
unavailableReason 是 TradeFlowUnavailableReason 枚举,因此该封闭集合可直接从 OpenAPI schema 中发现,而不仅存在于文字说明中。取值均以 TRADE_FLOW_UNAVAILABLE_REASON_ 为前缀:
整体覆盖情况通过
/api/health 中的 tradeFlows 条目发布,其 records 计数为实际种子化的申报国/世界组合数量;数量不足时读作 COVERAGE_PARTIAL,而种子器停止运行时读作 STALE_SEED。
关税趋势覆盖范围
get-tariff-trends 同样由种子数据提供服务(付费路径)。Railway 种子器预抓取 WTO MFN 适用平均关税率(TP_A_0010),本 API 对该历史做切片服务 — 请求时从不调用 WTO。
- 申报国(reporter) — WTO
/reporters端点公布的任意 3 位 UN M49 代码。为空时默认为840(美国)。 - 伙伴国(partner) — 为向前兼容而接受;
TP_A_0010是申报经济体的 MFN 适用平均关税率,没有伙伴国维度,因此该字段不会改变答案。 - 产品部门(product_sector) — 为空或
all时选择“全部产品”合计,这是当前唯一被覆盖的部门。任何其他值返回NOT_COVERED。 - 年数(years) —
1–30,包含首尾两端(years=10返回 11 个日历年)。种子按申报国保存完整的 30 年窗口,由处理器切片。0表示使用默认值10。
years 会返回 HTTP 400,而不是被静默替换为 840 / 10。种子无法回答的合法请求会返回空 datapoints 以及来自 TariffTrendUnavailableReason 枚举的 unavailableReason(前缀 TARIFF_TREND_UNAVAILABLE_REASON_):
整体覆盖情况通过
/api/health 中的 tariffTrendsUs 条目发布(系列名沿用历史命名;探测目标为舰队级 seed-meta:trade:tariffs 记录)。低于最小记录数时读作 COVERAGE_PARTIAL,种子器停止运行时读作 STALE_SEED。
刷新频率
挂载和标签页切换时按标签页获取;无轮询。上游种子器按各数据集的不同频率运行(关税每日,Comtrade 每月)。层级与门控
面板外壳免费。 变体注册中无premium 标志。生成的 REST 服务是混合的:限制、流、壁垒与海关收入为公开;get-tariff-trends 与 list-comtrade-flows 为付费 RPC 路径,在无授权会话或 API 密钥时降级为空数据。
API 参考
- Trade service — 六个标签页支持 RPC 的完整 schema 与查询参数。
