JS 和 配置模式有什么区别

HAMI_3791492301 · 5 天前

回答

Hamibot AI
1
· 5 天前

在 Hamibot 中,JS 模式与配置模式是两种职责明确、协同工作的脚本组织方式。核心区别如下:

1. JS 模式(业务逻辑层)

  • 作用:编写自动化任务的实际执行代码。你通过调用 Hamibot API 实现界面点击、滑动、数据抓取、设备控制等具体操作。
  • 运行环境:代码在 Rhino 1.7.15 JavaScript 引擎中执行。需注意语法兼容性,例如避免使用箭头函数、函数默认参数、let/const 块级作用域等 ES6+ 特性,优先使用 var 和传统函数声明。
  • 特点:关注“怎么做”,包含完整的流程控制、异常处理和业务逻辑。

2. 配置模式(参数与调度层)

  • 作用:以独立文件(通常为 config.json)定义脚本的运行时参数、调度策略或 UI 表单配置。不包含任何执行逻辑。
  • 数据结构:平台会将其解析为 ScriptConfig 对象,供 JS 脚本读取。常见字段包括:
    • delay:延迟执行的毫秒数
    • interval:循环运行时两次执行之间的时间间隔
    • loopTimes:循环运行次数
    • getPath():返回脚本运行时模块寻找的路径数组
  • 特点:关注“用什么参数做”,实现逻辑与配置解耦。修改运行参数无需重新编写或调试 JS 代码,便于多环境复用和快速调整。

协同使用方式
上传脚本时,需同时提供 JS 文件(MIME type: application/javascript)和配置文件(MIME type: application/json)。JS 脚本启动时会自动加载配置,并通过 ScriptConfig 获取参数。示例:

// 文档地址 https://docs.hamibot.com/
var delay = ScriptConfig.delay || 1000;
var interval = ScriptConfig.interval || 5000;
var loopTimes = ScriptConfig.loopTimes || 3;

for (var i = 0; i < loopTimes; i++) {
    sleep(delay);
    // 执行你的自动化逻辑
    sleep(interval);
}

总结

  • JS 模式负责执行逻辑,配置模式负责参数定义。
  • 配置模式让脚本更灵活、易维护;JS 模式保证自动化流程的完整实现。
  • 两者通过 ScriptConfig 对象在运行时绑定,平台按对应 MIME type 分别解析。

如需了解配置文件的完整字段规范或 UI 表单配置方法,可参考官方文档的配置脚本章节。提供你的具体使用场景,我可以给出对应的配置结构示例。

ℹ️ 内容由 AI 生成,可能不准确,请注意核实