插件总则
- 插件源码、文字、图片等内容请确保没有侵权
- 插件内请勿附带任何形式的广告文字或链接
- 插件不可包含远程执行程序(包含远程下载)
- 插件必须提交一个包含全部源码的版本进行上架
- 插件只可在官方市场销售,否则将予以下架处理
- 插件发布后请提供给用户完整的操作手册
- 插件需要定期更新维护并给用户给予插件问题的答疑
- 插件开发完毕请尽快申请软件著作权以保护自己的版权
- 插件若最终被判定有侵权责任,需要由插件作者全权承担
插件命名与目录
- BladeX的业务项目请以
blade-xx
为前缀,包名请以 org.springblade.plugin.xx
命名
- BladeX内的功能请放到与
blade-ops
同级的 blade-plugin
目录下,api包请放到 blade-plugin-api
目录下
- BladeX-Boot内的功能放到
org.springblade.plugin.xx
目录下
- BladeX-Tool内的项目请命名为
blade-plugin-xx
的形式
- BladeX-Tool的核心封装项目包名请以
org.springblade.core.plugin.xx
命名
- Saber内的相关页面请放到
/src/views/plugin
目录下
- Saber内的API调用包请放到
/src/api/plugin
目录下
- 若有Sword部分内容,目录逻辑同理
- Sql脚本新增的表名请以 blade_xx 命名,若有后台管理功能,请新增新的菜单,与用户管理同级
插件注意点
- 插件要做到便捷插拔的目的,不要与BladeX有任何耦合
- 若有starter类型的封装,请采用BladeX风格的自动装配逻辑,用config类初始化,用
blade.plugin.xx.enabled=true
配置开启功能。具体写法可参考blade-starter-social
- 一些constant类、util类请放到
blade-xx
以及 blade-xx-api
包内,不要放入blade-common
内
- 若有相关字典配置的情况,如果数量不多,尽可能在插件项目内用枚举,不要将sql新增入字典表从而产生耦合
- 目前还没有做插件安装的工具,前期请大家把每个项目目录归好类,方便让用户根据提示复制到对应目录
插件构建流程
- 比如现在需要写一个支付模块,介绍下各个流程
- 主服务项目放到
bladex
与blade-ops
同目录的blade-plugin
下,命名为blade-pay
- 与
blade-plugin
同目录的blade-plugin-api
目录放入blade-pay-api
- 一些工具包,entity,constant类都可以放到
blade-pay-api
,被blade-pay
引入便可以使用
- 在
bladex-tool
下新增blade-plugin-pay
的starter封装,新增config、prop、util
类,以blade.plugin.pay.enabled=true
开启
- 如果是
bladex-boot
工程,则将对应的源码都放入org.springblade.plugin.pay
目录下
bladex
与bladex-boot
业务类型的包名为org.springblade.plugin.pay
,bladex-tool
核心封装类型的包名为org.springblade.core.plugin.pay
- 数据库表名定义为
blade_pay
,同时新增对应菜单到blade_menu
,将菜单设置和用户管理同级,最终创建一个Sql脚本
- 以
saber
为例,在/src/views/plugin
目录下新增pay.vue
,在/src/api/plugin
目录下新增pay.js
- 最终开发完毕,整理出
bladex、bladex-boot、bladex-tool、saber
的文件夹,内部只包含自己开发的源码,提供一个文档指引用户到指定目录直接覆盖,随后指导用户在pom
处新增新模块的modules
名便可