跳到主要内容

App 模型

App 是平台的最小交付单元。一个 app 可以独立启动、停止、调试、导入、导出、接入 Git,也可以拥有自己的用户、角色、对象、页面、Graph、query、变量、配方和资源文件。

App 包含什么

一个典型的 app 工作区结构:

app/
manifest.json ← app 身份、首页、模块开关
CustomScripts.csproj ← IDE 项目文件(可用 VS/Rider 打开)
objects.json ← 设备与业务对象
variables.json ← 变量定义
saved-variables.json ← 持久变量当前值
recipes.json ← 工艺配方
queries.json ← 外部系统查询合同
i18n.json ← 运行页多语言文案
users.json ← app 用户和角色
pages/
home.qxpage ← 页面源文件
components/
station-card.qxcomponent ← 可复用组件
graphs/
startup.qxgraph ← Graph 源文件
scripts/
MyDevice.cs ← C# 自定义代码
assets/
sample.glb ← 资源文件
data/
record-stores/ ← 表格数据持久化
compiled/ ← 构建产物(不提交 Git)
custom-code/CustomScripts.dll
custom-code/CustomScripts.build.json

实际目录可能按项目调整。启心自动化平台 从 app root 递归扫描 .qxpage.qxcomponent.qxgraph.cs 文件。pages/graphs/scripts/assets/ 是创建约定,不是校验边界。

关键文件说明

文件用途面向谁
manifest.jsonapp 名称、图标、默认首页和模块开关管理员
**/*.qxpage页面源文件(界面 + 方法 + 权限)实施人员
**/*.qxcomponent可复用组件模板实施人员
**/*.qxgraphGraph 自动化流程实施人员
**/*.csapp-local C# 扩展代码工程人员
objects.json设备对象和业务对象树实施人员
variables.json应用变量定义(运行期 / 持久化)实施人员
saved-variables.json持久变量的当前值运行时自动维护
recipes.json工艺参数配方管理员
queries.json外部系统集成合同实施人员
i18n.json运行页多语言文案实施人员
users.jsonapp 用户和角色管理员
compiled/custom-code/CustomScripts.dllC# + Graph 构建产物自动生成

Page 在 app 中的位置

Page 是 app 的现场 UI。每个 .qxpage 文件包含页面布局、控件、page method 和权限配置。

Page 用于:

  • 设备运行看板
  • 工位操作界面
  • 报警/状态列表
  • 参数维护页
  • 文件上传页
  • 3D 设备查看页

Page method 是页面内的可调用逻辑单元。分为两种:

类型适用场景编辑方式
TypeScript method复杂逻辑、类型操作、错误处理、算法代码编辑器 + LSP 类型提示
Flow method简单顺序调用、对象方法、toast、赋值、条件可视化动作序列编辑器

详细操作见页面与组件

Component 在 app 中的位置

Component 是 app 级 .qxcomponent 可视化模板。适合把一组 widget 做成可重复使用的 item:

  • 工站状态卡片
  • IO 点位信息行
  • 报警条目
  • 任务 chip

Repeater 控件通过 componentRef 引用组件,组件可被多个 page 复用。

Graph 在 app 中的位置

Graph 保存为 .qxgraph 文件,编排自动化流程。它适合:

  • 启动、停止、复位、换型等流程
  • 多个对象方法的顺序和条件
  • 查询外部系统后再决定下一步
  • 需要断点调试的复杂逻辑

Graph 修改后需要构建 app project 才能进入运行时。详见Graph 自动化构建流程

Script 在 app 中的位置

Script 是 app-root-relative .cs 文件,用于扩展平台标准库没有的能力:

  • 定义项目专用的设备和业务对象
  • 封装 PLC、仪表、扫码枪等协议
  • 定义可被 Graph 调用的方法
  • 定义复杂数据结构和选项

脚本编译后进入 app 的 callable catalog。page、Graph 和 AI 都可以基于 catalog 使用这些能力。

用户和角色

App 用户和角色保存在 users.json 中,独立于开发者登录。用于控制运行页访问和控件显示。详见用户与权限

Git 与导入导出

App 工作区可作为独立 Git 仓库管理。ZIP 导出包不携带 .git 历史,但保留 CustomScripts.dll 以支持无源码运行。

详见应用管理版本控制