From 643ffedfb61557ee55912530a25bc0d14b23f012 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E7=8E=8B=E5=BE=B7=E5=AE=87?= Date: Thu, 24 Sep 2026 17:43:17 +0800 Subject: [PATCH] =?UTF-8?q?provider=204xx=20=E4=B8=8D=E5=86=8D=E6=8A=8A?= =?UTF-8?q?=E5=8E=9F=E6=96=87=E9=94=99=E8=AF=AF=E4=BD=93=E5=9B=9E=E7=BB=99?= =?UTF-8?q?=E5=AE=A2=E6=88=B7=E7=AB=AF?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - server-rs/crates/api-server/src/tripo3d/errors.rs:400..=499 分支不再拼接 error.to_string()。TripoError::Api 的 Display 直接转述 provider 的 code/message/suggestion(HTTP 错误体原文,未做 URL 清洗),可能把带签名的地址等内部信息带进用户可见的任务错误;改为固定中文文案 --- server-rs/crates/api-server/src/tripo3d/errors.rs | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/server-rs/crates/api-server/src/tripo3d/errors.rs b/server-rs/crates/api-server/src/tripo3d/errors.rs index 1dc358d7d..a68e88328 100644 --- a/server-rs/crates/api-server/src/tripo3d/errors.rs +++ b/server-rs/crates/api-server/src/tripo3d/errors.rs @@ -82,7 +82,9 @@ pub(crate) fn map_provider_error(error: TripoError) -> AppError { TripoError::Api { status, .. } if matches!(status, Some(400..=499)) => ( StatusCode::BAD_REQUEST, "tripo-api-rejected", - error.to_string(), + // provider 的 code / message / suggestion 是原文转述的 HTTP 错误体,没有做过 + // URL 清洗:回给客户端可能带出带签名的地址等内部信息,因此只给固定文案。 + "3D 生成请求被 provider 拒绝,请检查参数后重试。".to_string(), ), // 以下都是 5xx:完整错误只进日志。`TripoError` 的 Display 会带上 provider task id, // 直接回给客户端会破坏本文件「不暴露 task id」的口径,因此对外只给固定文案。