新建插件项目及模块

- 进入【开发中心/服务插件开发】
- 右键左侧空白区域,选择新增项目。项目命名规则:plugin-项目名称-插件模块
- 名称:插件名称
- 版本号:插件版本号
- 项目路径:代码生成路径(自动生成)
- gitUrl:插件代码仓库路径
- 在项目上点击右键,选择新增模块。模块命名规则:plugin-项目名称-大模块名-模块名
- 标准模块:插件依赖的标准模块
- 名称:模块名称
- 版本:模块版本
- 命名空间:代码自动生成的模块命名空间。规则同 模块命名规则
- 简称:模块简称
- 备注:
- 目录结构说明:
- app :插件创建的相关接口实体等
- controller :插件的接口
- dto :插件接口中要用到的数据传输对象
- entity :插件的实体
- enum :插件实体中要用到的枚举
- extract :标准服务中要扩展的接口实体
- entity :标准服务的实体,提供实体的生命周期。新增实体后选择标准服务的实体,选择范围:支持插件开发的标准服务实体
- interface :标准服务的接口,提供调用前、调用后方法。新增接口后选择标准服务的接口,选择范围:支持插件开发的标准服务接口
- app :插件创建的相关接口实体等
- 生成代码:保存后选中模块点击,平台会自动生成插件的代码。开发人员可直接从git上拉取。
插件项目目录结构
├─java
│ ├─app
│ │ ├─config 配置类 平台生成覆盖
│ │ ├─controller controller定义 平台生成覆盖
│ │ ├─model 实体modal 平台生成
│ │ ├─param 接口请求参数 平台生成覆盖
│ │ └─service
│ │ └─imp 接口实现类
│ ├─base
│ │ ├─dto dto定义 平台生成覆盖
│ │ ├─entity 实体定义 平台生成覆盖
│ │ ├─enumerate 枚举定义 平台生成覆盖
│ │ └─mapper mapper定义 平台生成覆盖
│ └─extract
│ ├─controller 标准服务接口插件,提供调用前、后方法
│ └─entity 标准实体插件,提供实体生命周期
└─resources
│ ├─plugin-mapper xml文件 平台生成覆盖
│ └─sql sql文件 平台生成覆盖
插件配置信息
插件配置信息由低代码平台自动生成至插件pom文件中。pluginInfo中的id为插件id,必须是租户code,否则插件不生效。

插件启动及调试
插件是依附于标准服务,所以启动插件前确保标准服务能正常启动。
在标准服务的配置文件中添加配置【plugin.mainPackage=主程序包名(eg:cn.cw.app.sps.project)】,否则主程序无法启动。
将插件打包成jar包后放置标准服务目录 \plugins下,标准服务启动时会自动启动插件。若控制台输出插件初始化完成则插件启动成功

将插件代码和标准服务代码放置同一级中(在同个idea窗口打开),可使用idea调试工具调试插件。
插件发布
将插件打包成jar
进入【开发中心/服务插件管理】,选择标准服务模块,上传jar包,点击左下角启动。启动时平台会自动执行插件生成的实体、接口相关sql脚本。

注意事项
- 调用插件的接口: 模块服务名/api/plugin/plugin.id(pom文件中pluginInfo.id)/接口路径 例:/app/base/uc/api/plugin/gjzz/api/user/getUserAuth
- 一个模块下不允许存在重复id插件
- 若想引用主程序未引用的包,请自行在pom文件中引用