@@ -24,7 +24,7 @@ func GetTemplateFuncMap() template.FuncMap {
24
24
// 渲染Model中的字段
25
25
func GenerateField (field systemReq.AutoCodeField ) string {
26
26
// 构建gorm标签
27
- gormTag := `gorm:" `
27
+ gormTag := ``
28
28
29
29
if field .FieldIndexType != "" {
30
30
gormTag += field .FieldIndexType + ";"
@@ -38,58 +38,63 @@ func GenerateField(field systemReq.AutoCodeField) string {
38
38
gormTag += fmt .Sprintf ("default:%s;" , field .DefaultValue )
39
39
}
40
40
41
+ if field .Comment != "" {
42
+ gormTag += fmt .Sprintf ("comment:%s;" , field .Comment )
43
+ }
44
+
41
45
gormTag += "column:" + field .ColumnName + ";"
42
46
47
+ requireTag := ` binding:"required"` + "`"
48
+
43
49
// 根据字段类型构建不同的字段定义
44
50
var result string
45
51
switch field .FieldType {
46
52
case "enum" :
47
- result = fmt .Sprintf (`%s string ` + "`" + `json:"%s" form:"%s" %stype:enum(%s);comment:%s ;"` + "`" ,
48
- field .FieldName , field .FieldJson , field .FieldJson , gormTag , field .DataTypeLong , field . Comment )
53
+ result = fmt .Sprintf (`%s string ` + "`" + `json:"%s" form:"%s" gorm:" %stype:enum(%s);"` + "`" ,
54
+ field .FieldName , field .FieldJson , field .FieldJson , gormTag , field .DataTypeLong )
49
55
case "picture" , "video" :
50
- tagContent := fmt .Sprintf (`json:"%s" form:"%s" %scomment:%s; ` ,
51
- field .FieldJson , field .FieldJson , gormTag , field . Comment )
56
+ tagContent := fmt .Sprintf (`json:"%s" form:"%s" gorm:"%s" ` ,
57
+ field .FieldJson , field .FieldJson , gormTag )
52
58
if field .DataTypeLong != "" {
53
59
tagContent += fmt .Sprintf ("size:%s;" , field .DataTypeLong )
54
60
}
55
61
result = fmt .Sprintf (`%s string ` + "`" + `%s` + "`" + `` , field .FieldName , tagContent )
56
62
case "file" , "pictures" , "array" :
57
- tagContent := fmt .Sprintf (`json:"%s" form:"%s" %scomment:%s; ` ,
58
- field .FieldJson , field .FieldJson , gormTag , field . Comment )
63
+ tagContent := fmt .Sprintf (`json:"%s" form:"%s" gorm:"%s" ` ,
64
+ field .FieldJson , field .FieldJson , gormTag )
59
65
if field .DataTypeLong != "" {
60
66
tagContent += fmt .Sprintf ("size:%s;" , field .DataTypeLong )
61
67
}
62
68
result = fmt .Sprintf (`%s datatypes.JSON ` + "`" + `%s swaggertype:"array,object"` + "`" + `` ,
63
69
field .FieldName , tagContent )
64
70
case "richtext" :
65
- tagContent := fmt .Sprintf (`json:"%s" form:"%s" %scomment:%s; ` ,
66
- field .FieldJson , field .FieldJson , gormTag , field . Comment )
71
+ tagContent := fmt .Sprintf (`json:"%s" form:"%s" gorm:"%s" ` ,
72
+ field .FieldJson , field .FieldJson , gormTag )
67
73
if field .DataTypeLong != "" {
68
74
tagContent += fmt .Sprintf ("size:%s;" , field .DataTypeLong )
69
75
}
70
76
result = fmt .Sprintf (`%s *string ` + "`" + `%stype:text;"` + "`" + `` ,
71
77
field .FieldName , tagContent )
72
78
case "json" :
73
- tagContent := fmt .Sprintf (`json:"%s" form:"%s" %scomment:%s; ` ,
74
- field .FieldJson , field .FieldJson , gormTag , field . Comment )
79
+ tagContent := fmt .Sprintf (`json:"%s" form:"%s" gorm:"%s" ` ,
80
+ field .FieldJson , field .FieldJson , gormTag )
75
81
if field .DataTypeLong != "" {
76
82
tagContent += fmt .Sprintf ("size:%s;" , field .DataTypeLong )
77
83
}
78
84
result = fmt .Sprintf (`%s datatypes.JSON ` + "`" + `%s swaggertype:"object"` + "`" + `` ,
79
85
field .FieldName , tagContent )
80
86
default :
81
- tagContent := fmt .Sprintf (`json:"%s" form:"%s" %scomment:%s; ` ,
82
- field .FieldJson , field .FieldJson , gormTag , field . Comment )
87
+ tagContent := fmt .Sprintf (`json:"%s" form:"%s" gorm:"%s" ` ,
88
+ field .FieldJson , field .FieldJson , gormTag )
83
89
if field .DataTypeLong != "" {
84
90
tagContent += fmt .Sprintf ("size:%s;" , field .DataTypeLong )
85
91
}
86
92
result = fmt .Sprintf (`%s *%s ` + "`" + `%s` + "`" + `` ,
87
93
field .FieldName , field .FieldType , tagContent )
88
94
}
89
95
90
- // 添加验证标签
91
96
if field .Require {
92
- result = strings . Replace (result , "`" + `` , "`" + ` binding:"required"` + "`" + `` , 1 )
97
+ result = result [ 0 : len (result ) - 1 ] + requireTag
93
98
}
94
99
95
100
// 添加字段描述
0 commit comments