输入交互组件
输入交互组件用于向设备下发指令和参数。
输入框
带数字键盘的数值输入组件,点击后弹出虚拟键盘输入数值。
典型场景: 温度设定值输入、转速目标值设置、参数修改。
用法:
- 绑定数据点,点击输入框弹出数字键盘,输入后确认下发
- 可配置前缀/后缀标签(如"温度:"、"℃")
- 支持发送按钮,输入后点击发送才下发
- 支持确认超时机制,超时自动取消

步进输入
带加减按钮的数值输入,支持点击步进和直接键盘输入。
典型场景: 风速档位调节、亮度/音量微调、定量加料控制。
用法:
- 配置步进值(每次加减的幅度)
- 支持最小值/最大值限制,防止越界
- 点击加号/减号按钮按步进值递增/递减
- 点击中间数值区域可弹出数字键盘直接输入

滑块
拖拽式数值调节控件,直观连续地调整数值。
典型场景: PID 参数连续调节、阀门开度控制、亮度/速度无级调节。
用法:
- 支持水平或垂直方向
- 可配置取值范围(最小值/最大值)
- 支持两种下发模式:拖拽时实时下发、松开鼠标时一次性下发
- 可显示当前数值标签

键值对输入
Key-Value 键值对输入组件,由 Key 输入框、Value 输入框和发送按钮组成,适用于动态指定数据点地址并下发值的场景。
典型场景: 动态写入任意数据点地址(如输入寄存器地址和值)、调试模式下临时修改参数、批量设备配置中按地址寻址写入。
用法:
- Key 输入框支持前缀和后缀(如
device_1.+temperature→device_1.temperature),用户只需输入中间段 - Value 输入框输入要下发的数值
- 点击输入框弹出数字键盘,支持光标定位和编辑
- 点击发送按钮后,以
{前缀}{Key中间段}{后缀}为数据点地址、Value 输入框内容为值进行下发 - Key 中间段为空时发送按钮禁用,防止误操作

下拉选择
下拉菜单选择组件,从预设选项中选择一个值下发。支持数据点模式和配方模式。
典型场景: 工作模式选择(手动/自动/半自动)、配方切换、语言切换。
用法:
数据点模式:
- 绑定单个数据点,配置静态选项列表(每个选项包含标签和下发值)
- 选项支持配置图标
- 选择后将对应值下发到绑定的数据点
- 当前数据点值自动匹配并高亮对应选项
- 若绑定的数据点字段为枚举类型,可自动同步枚举成员作为选项
配方模式:
- 绑定配方组,选项为配方组中的各行配方
- 选择配方后批量下发该行所有列的值
- 支持"无配方"选项
- 自动检测当前数据点值与配方矩阵的匹配,高亮当前激活的配方行

自锁开关
现代风格的拨动开关,控制布尔型数据点的开/关状态。
典型场景: 设备启停控制、功能使能/禁用、灯光开关。
用法:
- 绑定读写数据点,自动读取当前状态
- 点击切换开/关,状态实时写回数据点
- 开/关状态可分别配置颜色和外观

下发按钮
触发式操作按钮,点击后下发指定的数据值。可关联多个输入交互组件,统一接管下发操作。
典型场景: 启动/停止按钮、复位按钮、一键执行特定命令、多参数统一提交。
用法:
- 配置点击时下发的数据值
- 支持两种交互模式:单次点击(按下即触发)、按住模式(按住触发、松开恢复)
- 可设置操作权限等级,不同权限的用户操作不同
- 支持条件表达式控制按钮可用状态
- 支持图标+文字组合显示
- 可关联画布上的多个输入交互组件(输入框、步进输入、滑块、下拉选择等),关联后这些组件的输入值不再即时下发,而是暂存在本地,由该按钮统一点击下发,实现多参数一次性批量提交

选项组
单选按钮组,多个选项中选择一个,类似分段控制器。支持数据点模式和配方模式。
典型场景: 运行模式切换(手动/自动/远程)、工艺段选择、速度档位选择、配方切换。
用法:
数据点模式:
- 配置多个选项,每个选项对应一个数据值
- 绑定数据点,当前值匹配的选项自动高亮
- 选中新选项时下发对应值
- 选中项有独立的高亮颜色和样式
配方模式:
- 绑定配方组,选项为配方组中的各行配方
- 选中某行配方后批量下发该行所有列的值
- 自动检测当前数据点值与配方矩阵的匹配,高亮当前激活的配方行

自锁按钮
布尔状态切换按钮,读取数据点状态并可点击切换,外观随状态变化。
典型场景: 设备启停控制(运行/停止指示)、正反转切换、报警确认。
用法:
- 绑定读写数据点,自动读取当前状态
- 点击切换 ON/OFF 状态
- ON 和 OFF 状态可分别配置颜色和图标
- 带 3D 厚度效果和按下动画,状态变化时自动切换外观
