跳到主要内容

选择变量、配方、Query、RecordStore 或 i18n

何时用

当你准备保存状态、维护工艺参数、连接 MES、显示表格数据或制作多语言运行页,但不确定该用哪种能力时,使用本指南。

开始前

先回答四个问题:

  1. 数据来自当前 app、现场设备,还是外部系统?
  2. 应用停止或设备断电后是否必须保留?
  3. 它是一个小值、一整套参数,还是多行记录?
  4. 谁负责修改它:工程师、运行页操作员,还是外部系统?

步骤

第一步:选择能力

需求选择典型例子
运行期间共享一个小值App 变量当前工单号、设备状态
重启后仍保留一个小值Saved 变量标定值、累计计数、阈值
按产品型号切换一整套固定字段Recipe温度、压力、时间组成的产品配方
调用 app 外的服务或数据库Query查询 MES 工单、向 ERP 报工
在设备端维护多行结构化数据RecordStore点位表、批次表、轻量参数表
让同一运行页切换语言i18n按钮、标题、报警文案

不要为了方便把所有数据都放进变量。大量历史数据、复杂查询或跨设备共享数据应交给外部系统,再通过 Query 访问。

第二步:从正确入口配置

变量

  1. 打开编辑器 Settings → 变量
  2. 新增变量,填写名称、类型、默认值和所需作用域。
  3. 保存后,在 Page 或 Graph 中读取和写入。
  4. 分别验证首次启动值、运行中修改和重新启动后的值。

配方

  1. 先在 Object Tree 添加唯一的 RecipeManager 对象。
  2. 打开 Settings → 配方定义字段。
  3. 新增不同产品的配方,填写每个字段值并保存。
  4. 在测试页或流程中切换配方,确认所有字段作为一组生效。

Query

  1. 打开 Settings → 查询
  2. 新增 Query,明确外部端点、调用方式、输入参数和预期输出。
  3. 保存后先用测试数据验证失败、超时和异常响应,再接入 Page 或 Graph。
  4. 涉及写入外部系统时,使用测试环境完成一次可追溯的端到端验证。

RecordStore

  1. 在 Object Tree 添加 RecordStore 对象。
  2. 在右侧 Properties 中定义字段和数据保存方式。
  3. 通过对象方法在 Page 或 Graph 中读取、添加、更新和删除行。
  4. 用空表、正常数据和异常数据各验证一次。

i18n

  1. 打开 Settings → 国际化,添加所需语言并设置默认语言。
  2. 为用户可见文案建立稳定的 key,并填写每种语言的翻译。
  3. 在 widget 文本属性中使用翻译选择入口绑定 key。
  4. 切换运行页语言,检查长文案、缺失翻译和默认语言回退。

成功表现

  • 停止或重启 app 后,临时值与需保留值的行为符合预期。
  • 切换 Recipe 时,整套字段一致更新,不会混用两个产品的参数。
  • Query 的正常、失败和超时路径都给出明确结果。
  • RecordStore 的字段与页面表格一致,增删改查后数据没有错列。
  • 切换语言后,运行页没有裸 key、空白文案或明显截断。

常见问题

该用 Saved 变量还是 Recipe?

少量彼此独立的长期参数用 Saved 变量;一组需要命名、切换和整体应用的参数用 Recipe。

该用 RecordStore 还是 Query?

当前设备上的轻量多行数据用 RecordStore;外部数据库、大量历史、复杂检索或多设备共享用 Query。

配方页提示缺少 RecipeManager

先在 Object Tree 添加 RecipeManager。每个 app 只需要一个。

i18n 保存了但页面仍显示旧文案

确认 widget 已绑定翻译 key,而不是仍使用固定文本;再检查当前语言和默认语言是否存在该 key。

AI 可以怎么帮

让 AI 先做选择,不要一开始就让它创建文件:

我需要保存产品型号、温度、压力、当前工单号和最近 50 条批次结果。先按生命周期和数据形状说明每项应使用 Variable、Recipe、Query 还是 RecordStore。等我确认后再修改,并列出验收用例。

AI 还可以生成翻译初稿、Query 输入输出草案和测试数据,但应基于你确认的业务字段。

必须人工确认

  • 哪些数据必须断电保留,以及允许保留多长时间。
  • 配方单位、范围、默认值和下发设备前的审批规则。
  • Query 的真实端点、认证方式、写入副作用和失败补偿。
  • RecordStore 是否已经超出单机轻量数据的适用范围。
  • 所有操作员可见翻译,尤其是报警、确认和安全相关文案。