fix: 优化 ImageRequest 的 JSON 序列化,避免覆盖合并 ExtraFields

This commit is contained in:
creamlike1024
2025-09-11 12:28:57 +08:00
parent cda73a2ec5
commit db6a788e0d

View File

@@ -64,19 +64,21 @@ func (r ImageRequest) MarshalJSON() ([]byte, error) {
// 将已定义字段转为 map
type Alias ImageRequest
alias := Alias(r)
base, err := json.Marshal(alias)
base, err := common.Marshal(alias)
if err != nil {
return nil, err
}
var baseMap map[string]json.RawMessage
if err := json.Unmarshal(base, &baseMap); err != nil {
if err := common.Unmarshal(base, &baseMap); err != nil {
return nil, err
}
// 合并 ExtraFields
for k, v := range r.Extra {
baseMap[k] = v
if _, exists := baseMap[k]; !exists {
baseMap[k] = v
}
}
return json.Marshal(baseMap)