--- title: "可视化编排器" description: "AutoScript 可视化编排器 - 通过图形界面构建条件判断与变量操作,无需手写代码" --- 可视化编排器让你通过图形界面构建 AutoScript 脚本,无需了解 Lua 语法。编排器会根据你的配置自动生成代码。 {/* TODO: 添加可视化编排器界面截图 */} ![AutoScript 可视化编排器](/images/v1.4.0/autoscript-orchestrator.png) ## 编排器结构 编排器由多个判断块(Conditional Block)堆叠组成,从上到下依次执行。每个判断块包含条件判断和操作步骤两部分。 ### 判断块类型 每个判断块可以设置为以下三种类型之一: | 类型 | 触发条件 | 说明 | | --- | --- | --- | | **IF** | 第一个判断块 | 始终为 IF,不可更改 | | **ELSE IF** | 上方条件均不满足 | 添加额外的条件分支 | | **ELSE** | 上方所有条件均不满足 | 默认分支,不需要设置条件 | 在一个 IF 后可以添加多个 ELSE IF,但只能有一个 ELSE 块。 添加 ELSE 块后,不能再添加 ELSE IF 或 ELSE 块。 ## 添加判断块 点击 [**+ 添加判断块**] 按钮添加新的判断块。新块的类型默认为 ELSE IF。 ## 配置条件 每个判断块可包含一个或多个条件行,多个条件之间用 `and` 或 `or` 连接。 ### 条件行配置项 | 配置项 | 说明 | | --- | --- | | 逻辑运算符 | 与上一条件行的关系:`and`(且)或 `or`(或)。第一行不显示此选项 | | 左变量 | 选择要比较的目标变量,或直接使用 `true`/`false` 布尔值 | | 比较运算符 | `==` `~=` `>` `<` `>=` `<=` | | 比较方式 | 与固定值比较 / 与另一个变量比较 | | 右值 | 根据变量类型提供对应的输入控件 | ### 特殊规则 - **布尔变量**:当左侧选择布尔类型变量(如 `USER_ENABLE`)时,比较运算符和右值自动隐藏, 条件直接判断该布尔值是否为真 - 可以点击 [**+**] 按钮添加更多条件行,或点击 [**x**] 按钮删除某个条件行 ## 配置操作步骤 每个判断块内可包含一个或多个操作步骤(Action Step),当该块的条件满足时,所有操作步骤按顺序执行。 ### 操作类型 | 操作 | 说明 | 示例 | | --- | --- | --- | | **set** | 将变量设置为指定值 | `RESERVE_DATE = dateadd(datenow(), 1)` | | **add** | 在变量当前值上增加 | `RESERVE_BEGIN_TIME = RESERVE_BEGIN_TIME + 30` | | **sub** | 在变量当前值上减去 | `RESERVE_END_TIME = RESERVE_END_TIME - 60` | ### 值来源 | 来源 | 说明 | | --- | --- | | 固定值 | 手动输入或选择具体值 | | 变量 | 从其他目标变量读取值 | ### 日期和时间特殊处理 对于日期和时间类型变量,输入控件提供以下便捷选项: | 变量类型 | 便捷选项 | | --- | --- | | Date | 今天、明天、后天、指定日期(日历选择器) | | Time | 当前时间、指定时间(时间选择器) | 当选择相对日期选项(如"明天")时,编排器会生成相应的工具函数调用(如 `dateadd(datenow(), 1)`), 确保脚本在运行时动态计算正确的日期。 ## 生成代码 配置完成后,点击 [**确认**] 按钮,编排器将把所有判断块转换为 Lua 代码并插入到代码编辑器中。 例如,以下编排配置: - IF `USER_ENABLE` → set `RESERVE_DATE` 为明天,set `RESERVE_BEGIN_TIME` 为 09:00 - ELSE → set `USER_ENABLE` 为 false 将生成: ```lua if USER_ENABLE then RESERVE_DATE = dateadd(datenow(), 1) RESERVE_BEGIN_TIME = time(9, 0) else USER_ENABLE = false end ```