@@ -121,6 +121,81 @@ func CreateMenuStructAst(menus []system.SysBaseMenu) *[]ast.Expr {
121
121
},
122
122
},
123
123
}
124
+
125
+ // 添加菜单参数
126
+ if len (menus [i ].Parameters ) > 0 {
127
+ var paramElts []ast.Expr
128
+ for _ , param := range menus [i ].Parameters {
129
+ paramElts = append (paramElts , & ast.CompositeLit {
130
+ Type : & ast.SelectorExpr {
131
+ X : & ast.Ident {Name : "model" },
132
+ Sel : & ast.Ident {Name : "SysBaseMenuParameter" },
133
+ },
134
+ Elts : []ast.Expr {
135
+ & ast.KeyValueExpr {
136
+ Key : & ast.Ident {Name : "Type" },
137
+ Value : & ast.BasicLit {Kind : token .STRING , Value : fmt .Sprintf ("\" %s\" " , param .Type )},
138
+ },
139
+ & ast.KeyValueExpr {
140
+ Key : & ast.Ident {Name : "Key" },
141
+ Value : & ast.BasicLit {Kind : token .STRING , Value : fmt .Sprintf ("\" %s\" " , param .Key )},
142
+ },
143
+ & ast.KeyValueExpr {
144
+ Key : & ast.Ident {Name : "Value" },
145
+ Value : & ast.BasicLit {Kind : token .STRING , Value : fmt .Sprintf ("\" %s\" " , param .Value )},
146
+ },
147
+ },
148
+ })
149
+ }
150
+ elts = append (elts , & ast.KeyValueExpr {
151
+ Key : & ast.Ident {Name : "Parameters" },
152
+ Value : & ast.CompositeLit {
153
+ Type : & ast.ArrayType {
154
+ Elt : & ast.SelectorExpr {
155
+ X : & ast.Ident {Name : "model" },
156
+ Sel : & ast.Ident {Name : "SysBaseMenuParameter" },
157
+ },
158
+ },
159
+ Elts : paramElts ,
160
+ },
161
+ })
162
+ }
163
+
164
+ // 添加菜单按钮
165
+ if len (menus [i ].MenuBtn ) > 0 {
166
+ var btnElts []ast.Expr
167
+ for _ , btn := range menus [i ].MenuBtn {
168
+ btnElts = append (btnElts , & ast.CompositeLit {
169
+ Type : & ast.SelectorExpr {
170
+ X : & ast.Ident {Name : "model" },
171
+ Sel : & ast.Ident {Name : "SysBaseMenuBtn" },
172
+ },
173
+ Elts : []ast.Expr {
174
+ & ast.KeyValueExpr {
175
+ Key : & ast.Ident {Name : "Name" },
176
+ Value : & ast.BasicLit {Kind : token .STRING , Value : fmt .Sprintf ("\" %s\" " , btn .Name )},
177
+ },
178
+ & ast.KeyValueExpr {
179
+ Key : & ast.Ident {Name : "Desc" },
180
+ Value : & ast.BasicLit {Kind : token .STRING , Value : fmt .Sprintf ("\" %s\" " , btn .Desc )},
181
+ },
182
+ },
183
+ })
184
+ }
185
+ elts = append (elts , & ast.KeyValueExpr {
186
+ Key : & ast.Ident {Name : "MenuBtn" },
187
+ Value : & ast.CompositeLit {
188
+ Type : & ast.ArrayType {
189
+ Elt : & ast.SelectorExpr {
190
+ X : & ast.Ident {Name : "model" },
191
+ Sel : & ast.Ident {Name : "SysBaseMenuBtn" },
192
+ },
193
+ },
194
+ Elts : btnElts ,
195
+ },
196
+ })
197
+ }
198
+
124
199
menuElts = append (menuElts , & ast.CompositeLit {
125
200
Type : nil ,
126
201
Elts : elts ,
0 commit comments