1
This commit is contained in:
@@ -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 每种内容类型的字段配置
|
||||
|
||||
@@ -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, ",")
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user