This commit is contained in:
2026-07-09 13:42:52 +08:00
parent 875defd20c
commit 4e3a6ddb12
2 changed files with 22 additions and 13 deletions
+1
View File
@@ -14,6 +14,7 @@ type FieldDef struct {
Type string `json:"type"`
Options []string `json:"options"`
Required bool `json:"required"`
Multi bool `json:"multi" dc:"是否允许多选"`
}
// ContentTypeFields 每种内容类型的字段配置
+21 -13
View File
@@ -1590,38 +1590,46 @@ func formatDramaConfig(contentType, configStr string) string {
if configStr == "" || configStr == "{}" {
return ""
}
var cfg map[string]string
var cfg map[string]interface{}
if err := json.Unmarshal([]byte(configStr), &cfg); err != nil {
return ""
}
formatValue := func(v interface{}) string {
switch val := v.(type) {
case string:
return val
case []interface{}:
parts := make([]string, 0, len(val))
for _, item := range val {
parts = append(parts, fmt.Sprintf("%v", item))
}
return strings.Join(parts, "、")
default:
return fmt.Sprintf("%v", v)
}
}
if contentType == "短剧" {
if v, ok := cfg["题材"]; ok {
return "题材:" + v
return "题材:" + formatValue(v)
}
}
if contentType == "漫剧" {
parts := make([]string, 0, 2)
if v, ok := cfg["漫画画风"]; ok {
parts = append(parts, "漫画画风:"+v)
parts = append(parts, "漫画画风:"+formatValue(v))
}
if v, ok := cfg["题材"]; ok {
parts = append(parts, "题材:"+v)
parts = append(parts, "题材:"+formatValue(v))
}
return strings.Join(parts, "")
}
if contentType == "广告视频" {
parts := make([]string, 0, 5)
parts := make([]string, 0, 2)
if v, ok := cfg["广告类型"]; ok {
parts = append(parts, "广告类型:"+v)
parts = append(parts, "广告类型:"+formatValue(v))
}
if v, ok := cfg["产品行业"]; ok {
parts = append(parts, "产品行业:"+v)
}
if v, ok := cfg["情感基调"]; ok {
parts = append(parts, "情感基调:"+v)
}
if v, ok := cfg["口播类型"]; ok {
parts = append(parts, "口播类型:"+v)
parts = append(parts, "产品行业:"+formatValue(v))
}
return strings.Join(parts, "")
}