1.概要
目前我们支持用户在线配置表单进行开发,用户有时候希望,通过配置的表单,生成代码,自己做代码开发。这样用户只需要在线做表单配置,然后在这个基础上进行代码开发。目前平台支持这种开发方式了。
2. 实现思路
基于表单,读取表单的业务模型对象,根据表单和业务模型使用freemark模板渲染出我们需要的代码。
目前生成的代码包括:
1.实体类
2.数据库访问类
3.业务层代码
4.控制器层代码
5.mybatis mapping xml
6.前端访问数据API
7.数据列表
8.编辑页面
9.后端数据JS
3.开发步骤
3.1 配置全局变量
全局变量指的是在页面中需要使用到的一些变量。比如开发人员,日期,生成路径等。这些变量在模板配置中有用。
操作路径:
系统管理=》代码生成配置=》全局变量
注意生成目录需要配置一下,这个目录指的表单服务所在机器上的目录,这个目录用于生成文件,并打包下载,所以也是需要这个目录有写的权限。
相关变量如下:
[
{"name":"company","comment":"公司","value":"广州软件"},
{"name":"system","comment":"子系统","value":"system"},
{"name":"domain","comment":"域名","value":"com.misoft"},
{"name":"developer","comment":"开发者","value":""},
{"name":"email","comment":"邮件","value":"ray@misoft.cn"},
{"name":"genDir","comment":"生成目录","value":""}]
这个变量配置,存在于nacos中,用户在保存时,会保存一份私有的变量到数据库。
数据库表为 : form_codegen_globalvar
。
3.2 代码模板配置
由于代码生成时通过freemark来生成的,所以我们需要编写对应的模板。
操作路径:
系统管理=》代码生成配置=》代码生成模板管理
名称:就是模板的名称
文件名:指的是我们需要生成的文件名称,这个文件名可以使用变量,变量的使用方法为{变量}
,注意这个变量分为全局变量和表单的实体变量,每个实体都有自己的实体变量。注意这个变量名称不要冲突。
生成路径:这个值得时我们生成文件时,每一个文件生成到的目录。
这个生成路径也是可以使用变量的。
生成单个文件:这个指的是在生成文件时,生成文件的方式。比如一对多的表单,这个时候,我们生成实体的规则是,每一个实体生成一个文件,但是控制器我们只会生成一个。
内容:这个指的是代码生成的模板。我们需要单独介绍一下模板的写法。
3.3 生成代码
我们可以通过表单方案来生成代码。
操作路径为:
单据中心=》表单方案
点击后,他就会下载一个压缩文件包,我们对其进行解压。
代码样例:
3.4 使用代码
我们将代码 copy到项目中。
后端代码:
前端代码:
我们运行代码,需要将列表配置到菜单,并授权。
效果: