This commit is contained in:
jiangyong 2026-08-22 23:12:53 +08:00
parent a52f8618da
commit 5d481e4ca8
1 changed files with 0 additions and 62 deletions

View File

@ -1,62 +0,0 @@
package config
import (
"encoding/json"
"strings"
)
const (
FormTypeInput = "input" //文本输入框
FormTypeText = "text" //多行文本
FormTypeRadio = "radio" //单选框
FormTypeCheckbox = "checkbox" //多选框
FormTypeSwitch = "switch" //开关
FormTypeJson = "json" //JSON输入框
FormTypeDatetime = "datetime" //时间选择框
FormTypeDate = "date" //日期选择框
FormTypeMonth = "month" //阅读选择框
)
type FormOption struct {
Name string `json:"name,omitempty"` //选项名称
Value string `json:"value,omitempty"` //选项值
}
type Form struct {
Type string `json:"type,omitempty" ` //表单类型
Name string `json:"name,omitempty"` //表单名称
Key string `json:"key,omitempty"` //表单KEY
Value any `json:"value,omitempty"` //表单值
Default any `json:"default,omitempty"` //默认值
Disable bool `json:"disable,omitempty"` //是否禁用
Tips string `json:"tips,omitempty"` //表单提示
Option []*FormOption `json:"option,omitempty"` //表单选项radio和checkbox需要
}
func NewFroms(tplConfig, saveConfig string) ([]*Form, error) {
var forms []*Form
err := json.Unmarshal([]byte(tplConfig), &forms)
if err != nil {
return nil, err
}
var cfg map[string]interface{}
if strings.TrimSpace(saveConfig) != "" {
err = json.Unmarshal([]byte(saveConfig), &cfg)
if err != nil {
return nil, err
}
}
if cfg == nil {
cfg = make(map[string]interface{})
}
for _, form := range forms {
if _, ok := cfg[form.Key]; ok {
form.Value = cfg[form.Key]
} else {
form.Value = form.Default
}
}
return forms, err
}