> 插件控制按钮在所属插件目录下的`config.json`中是的`control`键值是配置,微信小程序目前支持以下几种控制按钮事件: ## **全局约定:** 所有的按键都具有`plugin`、`data`两个共用参数,同时这两个参数均为(选填)参数,但这个参数可以很好的进行按键功能扩展, * **plugin 指定插件参数定义** plugin 参数可以指定当前按钮事件发送和控制那一个插件,值为:插件名(字符串) * **data 数据参数定义** data 数据值参数,可以由用户自定义一些约定值,值可以为JSON格式或字符串,如在万能开关插件里可以用参数定义控制的设备号 ## **控制类按键定义:** 除以上两个全局字段约定,不同的按键有不同的参数约定,开发者在配置`config.json`插件配置文件时需严格按以下规定方式书写,否则微信小程序端将无法正常解析。 #### **开关按键:** --- 格式如下: ``` { "type":"switch", "getvalue":"light", "setvalue":{"1":"打开客厅灯","0":"关闭客厅灯"}, "text":"客户灯" } ``` 说明: | 键名 | 值(举例) | 类型 |是否必填 | 说明 | |---|---|---|---|---| | type | switch | 字符串| **必填** | 类型为开关类型 | | getvalue| light | 字符串 | 选填 | 开关初始状态设置值 | | setvalue| 设置值 | JSON格式 | **必填** | 开关动作传输所带的值 | | text| 客户灯| 字符串 | **必填** | 显示开关名称 | ======================================= === #### **按键按钮:** ``` { "type":"button", "setvalue":"播放儿歌", "text":"儿歌", "plugin":"Chat", "size":"mini" } ``` 说明: | 键名 | 值(举例) | 类型 |是否必填 | 说明 | |---|---|---|---|--| | type | button | 字符串| **必填** | 类型为按钮类型 | | setvalue| 设置值 | JSON或字符串 | **必填** | 按钮动作传输所带的值 | | text| 儿歌 | 字符串 | **必填** | 显示按钮名称 | | size| mini | default / mini | 选填 | 按钮大小(默认为空) | ======================================= === #### **输入框:** ``` { "type":"input", "getvalue":"myname", "text":"姓名:" } ``` 说明: | 键名 | 值(举例) | 类型 |是否必填 | 说明 | |---|---|---|---|---| | type | input | 字符串| **必填** | 类型为输入框类型 | | text| 姓名 | 字符串 | **必填** | 输入框标签名称 | | getvalue | 初始值 | 字符串 | 选填 | 由协议回传后指定值 | | password| 1 / 0 | 布尔数值 | 选填 | 是否为密码输入框类型 | | placeholder | 请输入 | 字符串 | 选填 | 输入框为空时占位符 | ======================================= === #### **文本内容:** ``` { "type":"text", "getvalue":"temperature", "text":"当前温度:" } ``` 说明: | 键名 | 值(举例) | 类型 |是否必填 | 说明 | |---|---|---|---|---| | type | text | 字符串| **必填** | 类型为文本类型 | | getvalue | 获得值 | JSON或字符串 | **必填** | 由协议回传后指定值 | | text| 当前温度: | 字符串 | **必填** | 显示文件标题名称 | ======================================= === #### **滑动选择器:** ``` { "type":"slider", "min":20, "max":100, "step":1, "getvalue":50, } ```