外观
05 保存与运行生命周期
项目保存值
在 数据管理中创建、重命名、编辑或删除自定义数据后,改动会参与项目自动保存。关闭项目再重新打开时,自定义分类、名称和内容会恢复。
界面分类不同:它根据当前页面和已保存的界面配置重新生成,不作为自定义分类保存。
每次运行使用启动快照
开始运行时,编辑器把当前项目数据转换成一次运行所需的快照。快照只包含分类、数据名和文本内容,不会在运行过程中重新读取项目保存文件。
可以把生命周期理解为:
text
项目保存值 -> 启动快照 -> 节点在本次运行中读取或写入 -> 本次运行结束1
执行后写入可以改变箭头右侧的“本次运行”数据,因此后续节点能读取新值;普通自定义分类不会反向更新箭头左侧的项目保存值。账号批次中的表格.*有独立写回规则。
三种状态的区别
| 状态 | 从哪里产生 | 后续节点能否读取 | 重新运行或重开后是否保留 |
|---|---|---|---|
| 数据管理中的自定义内容 | 用户编辑并由项目自动保存 | 可以 | 保留 |
| 只读 界面内容 | 当前页面和已保存的界面配置 | 可以 | 重新生成 |
| 普通自定义分类的执行后写入 | 节点在本次运行中写入 | 同一次运行可以 | 不自动保留 |
账号批次的表格.<列名> | 当前账号行生成并在运行中写回 | 同一次运行可以 | 写回当前账号行并保留 |
账号表的持久化例外
账号批次开始时,系统把当前账号行按列名加入该账号自己的运行快照。节点写入表格.<列名>后,运行管理器约每 5 秒读取一次运行数据;任务成功、失败或停止时,还会在释放会话前进行最终同步。变化会写回对应账号行并持久化,不会写到其他账号。
最终同步失败会使该账号任务以失败状态结束并附带错误。运行中的一次轮询失败会在后续轮询或最终同步重试,因此不要只根据表格短时间未刷新判断数据丢失。
正确更新长期值
如果希望下一次运行继续使用某个普通项目固定值,请在 数据管理中编辑该自定义数据,并等待项目自动保存。不要把普通执行后写入当成修改项目默认内容的方法。需要保存每个账号自己的运行结果时,使用账号批次中的表格.<列名>。
如果某个运行结果只用于当前流程的后续判断,使用执行后写入即可,不需要在数据管理中预先创建目标。
常见问题
同一次运行中后续节点读不到新值
确认写入节点确实命中且动作成功,并检查后续节点使用的是完全相同的分类.数据名。OCR 未命中、动作失败和不兼容的独立运行模式都不会产生写入。
第二次运行又读到旧值
这是当前生命周期的预期结果。新运行会重新从项目保存值构建快照,上一次运行的自定义写入不会自动回写。
重新打开项目后界面数据不同
界面是重新生成的只读分类。检查对应控件是否仍然公开给星链,以及当前已保存的界面配置是否符合预期。