Procházet zdrojové kódy

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

creamlike1024 před 5 měsíci
rodič
revize
db6a788e0d
1 změnil soubory, kde provedl 5 přidání a 3 odebrání
  1. 5 3
      dto/openai_image.go

+ 5 - 3
dto/openai_image.go

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