2024.01.02-2024.01.05思考
1.打开IIDP项目时,会因为打开的目录不对,导致找不到apps目录,加载不了app报错(建议插件提示路径) 2.打开IIDP项目时,要设置file encodings,建议通过插件进行定制化配置 3.新建app工程,以往的方法是从别的app复制过来再做修改,
-
例如修改pom文件的artifactId,修改父pom的子module
-
删除复制工程自带的model和视图json文件
-
修改包名,不然和被复制的工程同一个包
-
建议通过向导生成标准app项目
4.生成getter方法的模版会因为复制,导致某些行默认加了/t,导致getter模版不能用,建议插件集成这个功能,或者是直接不用写getter,setter,因为属性如果做修改,setter/getter又要生成一次,期间不会报错,很容易忘记
5.模型中各个属性注解的用法解释缺少提示,建议插件提醒
6.跨模型调用的call方法不能强提示要传入的参数,思考下插件能否辅助提示
7.重写search方法必须要重写count方法,可以插件辅助提示
2024.01.08-2024.01.12思考
8.views文件夹的menu.json文件依赖复制粘贴,考虑用插件向导辅助生成,其中
(1)menus.json可固定名称和文件类型,路径固定放在当前module的com.sie.apps.xxx.views文件夹下
(2)一级层级XXX_root_menu特征:XXX_root_menu命名,非强制,但通用,建议取com/sie/apps/xxx/app.json中的name属性,驼峰可按规律以"_"分割,后缀+_root_menu
(3)一级层级XXX_root_menu中name属性:默认保持和XXX_root_menu保持一致
(4)一级层级XXX_root_menu中display_name属性:com/sie/apps/xxx/app.json中的displayName属性,中文
(5)一级层级XXX_root_menu中active属性默认可以设置为true
(6)一级层级XXX_root_menu中sequence属性默认可以设置为1
(7)二级层级XXX_menu特征:XXX_menu命名,非强制,但通用
(8)二级层级XXX_menu中name属性:默认和XXX_menu保持一致,建议取模型@Model的name属性,后缀+_menu
(9)二级层级XXX_menu中display_name属性:建议取模型@Model中的displayName属性,中文
(10)二级层级XXX_menu中view属性:规定取自XXX_view.json(也就是元模型对应视图文件)中的XXX_grid属性,XXX_search属性,XXX_form属性
(11)二级层级XXX_menu中sequece属性,依照模型的解析顺序,默认生成1->n的整数
(12)二级层级XXX_menu中active属性默认可以设置为true
(13)二级层级XXX_menu中parent_ids属性,默认指定一级层级菜单XXX_root_menu
9.思考可否在@Model注解的属性中加一个属性,来控制模型在前端展示的顺序,因为不是强制性的属性,如果强制性则编码过程中很可能会忘记,也可以做成注释,解析后依照顺序生成menus.json中的二级菜单数据
10.views文件夹的XXX_view.json文件,其中
(1)XXX_views不可固定名称,可固定文件类型,路径固定放在当前module的com.sie.apps.xxx.views文件夹下
(2)XXX_views的前缀来自于模型@Model中的name属性
(3)XXX_views文件中的二级层级有XXX_grid,XXX_form,XXX_search,名称前缀可解析模型@Model中的name属性,后缀固定
(4)XXX_views文件中的三级层级有body,mode,model,name,type这五个元素可固定生成
(5)XXX_views文件中的三级层级中mode属性默认生成为primary
(6)XXX_views文件中的三级层级中model属性默认生成为模型@Model 的name属性
(7)XXX_views文件中的三级层级中name根据二级层级中的XXX_grid,XXX_form,XXX_search属性,生成对应的XXX-表格,XXX-表单,XXX-搜索框,前缀取自@Model 的displayName属性
(8)XXX_views文件中的三级层级中type属性,根据二级层级中的XXX_grid,XXX_form,XXX_search属性,生成对应的grid,form,search固定值
11.XXX_views文件中的三级层级中body属性中
(1)XXX_grid下:
1)type属性跟随grid的后缀,固定为grid
2)tbar属性默认生成,包含新增和删除两个按钮
3)buttons属性默认生成,包含详情和编辑按钮
4)columns属性中
○ name通过解析模型中java属性的变量名来默认生成
○ displayName通过解析模型中@Property 中的displayName来默认生成
(2)XXX_form下:
1)type属性跟随grid的后缀,固定为form
2)tabs默认生成为[](todo了解一下有值场景)
3)columns属性中
○ name通过解析模型中java属性的变量名来默认生成
○ displayName通过解析模型中
○ @Property 中的displayName来默认生成
○ ER注解中的displayName来默认生成
(3)XXX_search下:
1)type属性跟随grid的后缀,固定为form
2)columns属性中
○ name通过解析模型中java属性的变量名来默认生成
○ displayName通过解析模型中
○ @Property 中的displayName来默认生成
○ ER注解中的displayName来默认生成