添加模版设置

在FlowForge中,每个项目都是从模板创建的。模板为项目定义了一组预配置的选项。这包括运行时设置- 比较常见就是 Node-RED settings.js文件中设置的值。

模板还定义了项目可以自定义哪些选项。

本篇文章就来解释一下如何向模板对象中添加新的Node-RED运行时选项,以便开发者可以为单个实例进行自定义,并传递到底层Node-RED settings.js文件。

对于简单的布尔/字符串/数字类型来说,可以直接定义。对于其他类型(对象/数组),就变得稍微复杂,目前官方也没有好的例子。

对于一般的情况,可以按照以下步骤来设置模版:

  • 更新前端
    • 为设置选择一个名称,将其添加到已知设置和所需的任何验证逻辑列表中
    • 将其添加到适当的模板部分
  • 更新运行时
    • 将其添加到已知的设置列表和任何额外的验证逻辑中
  • 更新启动器
    • 使用新属性更新用于生成settings.js的模板

更新前端

前端中有一组视图用于显示和编辑模板。它们以两种不同的方式使用:

创建/编辑模板时。所有选项都可用,有一个下拉列表,允许用户在设置上设置策略(控制项目是否允许覆盖设置)
编辑项目设置时。显示所有选项,但仅允许用户修改模板策略允许更改的选项。
这种对视图的重用节省了大量代码重复,在实现时会造成一些复杂性。

为设置选择一个名称

该名称应尝试在Node-RED settings.js文件中匹配其相应的属性。

编辑frontend/src/pages/admin/Template/utils.js
将新属性名称添加到templateFieldsdefaultTemplateValues对象中。请注意,这些名称是扁平字符串,_用作层次,分隔符…。
如果值需要任何形式的验证,请将其添加到同一文件中的templateValidators中。

1.2 – 将其添加到适当的模板部分

目前支持自定义的配置有:

编辑
调色板
环境-不太可能添加其他选项的特殊情况
这些都存在于自己的文件下 frontendfrontend/src/pages/admin/Template/sections/

选择要添加的设置(即复选框或文本输入)最匹配的现有设置,并将其条目复制到适当的位置。

确保将复制的属性名称的所有引用更新为新属性名称。

更新运行时

将其添加到已知列表中

编辑forge/db/controllers/ProjectTemplate.js,将新属性添加到已知设置列表中。

在同一文件中,使用所需的任何额外验证或数据清理来更新validateSettings函数。

更新nr-launcher

在 flowforge-nr-launcher 项目里

编辑lib/runtimeSettings.js,将新的设置包含在生成settings.js文件中。请注意,你必须处理新设置不存在的情况-要么使用合理的默认值,要么省略该值。

相关新闻

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

邮箱

cloud@modbus.cn

QQ
QQ
微信
微信
SHARE
TOP