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来默认生成