From c5e0c6a14dc8698eab3e022ae6b63a6f1f4fa11e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E7=8E=8B=E5=BE=B7=E5=AE=87?= Date: Tue, 22 Sep 2026 13:48:10 +0800 Subject: [PATCH] =?UTF-8?q?=E5=8E=BB=E6=8E=89=E8=A2=AB=E4=B8=A2=E5=BC=83?= =?UTF-8?q?=E7=9A=84=20remove=20=E8=BF=94=E5=9B=9E=E5=80=BC=E5=91=8A?= =?UTF-8?q?=E8=AD=A6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 幂等指纹字段摘除改为显式丢弃返回值,表明这是 best-effort 行为 --- server-rs/crates/api-server/src/tripo3d/job.rs | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/server-rs/crates/api-server/src/tripo3d/job.rs b/server-rs/crates/api-server/src/tripo3d/job.rs index 31a6bc9a8..49182f748 100644 --- a/server-rs/crates/api-server/src/tripo3d/job.rs +++ b/server-rs/crates/api-server/src/tripo3d/job.rs @@ -103,7 +103,9 @@ pub(crate) fn parse_model3d_job_request( let mut payload = serde_json::from_str::(request_payload_json) .map_err(|error| format!("3D 生成任务参数不是合法 JSON:{error}"))?; if let Some(object) = payload.as_object_mut() { - object.remove(crate::editor_generation_queue::EXTERNAL_API_REQUEST_FINGERPRINT_FIELD); + // 平台注入字段是否存在不影响解析,按 best-effort 摘除即可。 + let _ = + object.remove(crate::editor_generation_queue::EXTERNAL_API_REQUEST_FINGERPRINT_FIELD); } match job_kind { Model3dJobKind::TextToModel => serde_json::from_value(payload)