跳到主要内容

# 计划任务与工作流

`计划任务` 面板同时支持传统步骤模式和流程图工作流模式——既可以当作定时执行器，也可以当作一套可视化自动化工具。

## 支持的触发方式​

- `Cron 表达式`
- `固定间隔`
- `一次性`
- `用户触发`
- `KVDB 队列消费`

其中：

- `用户触发`：不会自动调度，只在你手动执行时运行。
- `KVDB 队列消费`：适合做"有任务入队就消费"的场景。

## 目标设备与分组​

- 计划任务沿用主界面的设备 / 分组语义。
- 如果任务里选择了分组，运行时会使用这些分组当前绑定的脚本和配置。
- `用户触发` 类型还可以设置是否显示到主界面的 `更多操作`，以及手动触发前是否必须先选中设备。

## 两种编辑方式​

### 步骤模式​

适合简单串行动作，例如：

- 启动脚本
- 停止 / 暂停 / 继续脚本
- 锁屏 / 解锁
- 重启 SpringBoard / 重启设备
- 等待若干秒
- 执行 Lua 代码
- 启用 / 停用 / 触发其它计划

### 工作流模式​

适合复杂自动化。工作流编辑器里可以直接组合这些常见能力：

- 设备动作与脚本运行
- 文件管理里的三类目录操作
- HTTP 请求、Lua 代码
- KVDB 与 TableDB
- 条件分支、变量、流程控制
- 调用其它计划任务

## 测试与手动执行​

- 工作流编辑器内置"测试运行"功能，可以在编辑器里直接查看测试日志。
- 保存后的计划任务支持"立即执行"，并能实时追踪运行状态。
- 测试或运行出错时，面板会直接显示错误位置和消息，方便回到对应步骤修改。

## 运行历史与导出​

- 每个计划任务都保留运行历史。
- 运行记录支持查看状态、触发来源、设备结果统计和日志内容。
- 执行日志可导出到 `文件管理 → 报告目录`。

## 列表批量操作​

- 计划任务列表支持多选和 `Shift` 连续选择。
- 可对选中的计划任务批量导出或批量删除。
- 删除选中计划任务前会二次确认；正在运行的计划任务不能被删除。

## 导入与导出​

- 计划任务列表支持导出全部，也支持只导出选中的单条或多条计划任务。
- 导出选中计划任务时，会自动补齐被步骤或工作流引用的关联计划，保证导入包可用。
- `导入计划` 会先预览 JSON 文件内的计划任务，可以只导入其中单条或多条。
- 可以点击 `导入计划` 选择 JSON 文件，也可以把 JSON 文件直接拖入计划任务面板。
- 新的导入入口默认合并到当前列表，不会替换全部现有计划任务。
- 遇到同名计划任务时，可以选择覆盖同名计划或重命名导入。