diff --git a/server-rs/crates/shared-contracts/src/model3d/multiview_to_model/request.rs b/server-rs/crates/shared-contracts/src/model3d/multiview_to_model/request.rs index 33717b182..6250e6adc 100644 --- a/server-rs/crates/shared-contracts/src/model3d/multiview_to_model/request.rs +++ b/server-rs/crates/shared-contracts/src/model3d/multiview_to_model/request.rs @@ -13,7 +13,14 @@ use super::MODEL3D_TS_EXPORT_DIR; // 已发布版 ts-rs 12.0.1 的 EnumAttr 解析不了它,会打印一条没有 span 的 // “failed to parse serde attribute” 告警,因此 workspace 固定到上游修复 commit(#491)。 // 不要为了消警删掉该属性,也不要改用 `no-serde-warnings` 一并静默其它未支持的属性。 -#[serde(tag = "kind", rename_all = "camelCase", deny_unknown_fields)] +#[serde( + tag = "kind", + rename_all = "camelCase", + // `rename_all` 只改变体名,结构体变体里的字段要单独声明,否则将来出现多词字段 + // 会按 snake_case 发出,与 camelCase 的 TS 绑定对不上。 + rename_all_fields = "camelCase", + deny_unknown_fields +)] #[derive(ts_rs::TS)] #[ts(export, export_to = MODEL3D_TS_EXPORT_DIR)] pub enum Model3dMultiviewInputs { @@ -27,7 +34,6 @@ pub enum Model3dMultiviewInputs { right: Option, }, TaskId { - #[serde(rename = "taskId")] task_id: String, }, }