Skip to main content
Version: 2.3.0(Legacy)

插件处理详解

说明#

  • 在soul-admin后台,每个插件都用handle(json格式)字段来表示不同的处理,而插件处理就是用来管理编辑json里面的自定义处理字段。
  • 该功能主要是用来支持插件处理模板化配置的

表设计#

  • sql
CREATE TABLE IF NOT EXISTS `plugin_handle` (  `id` varchar(128) NOT NULL,  `plugin_id` varchar(128) NOT NULL COMMENT '插件id',  `field` varchar(100) NOT NULL COMMENT '字段',  `label` varchar(100) DEFAULT NULL COMMENT '标签',  `data_type` smallint(6) NOT NULL DEFAULT '1' COMMENT '数据类型 1 数字 2 字符串 3 下拉框',  `type` smallint(6) NULL COMMENT '类型,1 表示选择器,2 表示规则',  `sort` int(4)  NULL COMMENT '排序',  `ext_obj` varchar(1024) DEFAULT NULL COMMENT '额外配置(json格式数据)',  `date_created` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',  `date_updated` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',  PRIMARY KEY (`id`),  UNIQUE KEY `plugin_id_field_type` (`plugin_id`,`field`,`type`)) ENGINE=InnoDB;

使用教程#

比如开发springCloud插件时规则表需要存一些配置到handle字段,配置对应的实体类如下:

    public class SpringCloudRuleHandle implements RuleHandle {            /**         * this remote uri path.         */        private String path;            /**         * timeout is required.         */        private long timeout = Constants.TIME_OUT;            }

第一步、我们可以直接在插件管理界面 http://localhost:9095/#/system/plugin 点击编辑插件处理

第二步、新增一个字符串类型字段path和一个数字类型的timeout

第三步、在插件规则配置页面新增规则时就可以直接输入path、timeout然后提交保存到handle字段了

注意:如果配置了data_type为3 选择框,则规则新增页面里输入框下拉选择是通过field字段去字典表(soul_dict)查出所有可选项出来展示选择

  • 比如sentinel插件包含多种数据类型的字段,如下图: