[
{
"name": "totalRunMinutes",
"type": "range",
"label": "总运行时间(分钟)",
"min": 1,
"max": 60,
"default": 10,
"help": "设置脚本总运行时长,范围1~60分钟,到达时间后自动停止",
"show-value": true
},
{
"name": "minWaitSeconds",
"type": "range",
"label": "最小等待时间(秒)",
"min": 5,
"max": 15,
"default": 5,
"help": "每次滑动前的最小等待时间(5~15秒)",
"show-value": true
},
{
"name": "maxWaitSeconds",
"type": "range",
"label": "最大等待时间(秒)",
"min": 10,
"max": 30,
"default": 10,
"help": "每次滑动前的最大等待时间(10~30秒),需大于最小等待时间",
"show-value": true
},
{
"name": "minSwipeDuration",
"type": "range",
"label": "最小滑动持续时间(毫秒)",
"min": 300,
"max": 500,
"default": 300,
"help": "滑动动作的最小持续时间(300~500毫秒)",
"show-value": true
},
{
"name": "maxSwipeDuration",
"type": "range",
"label": "最大滑动持续时间(毫秒)",
"min": 500,
"max": 1000,
"default": 800,
"help": "滑动动作的最大持续时间(500~1000毫秒),需大于最小滑动时间",
"show-value": true
}
]

怎么将配置传到程序中

HAMI_5078019290 · 6 天前

回答

Hamibot AI
1
· 6 天前

文档地址 https://docs.hamibot.com/

你可以通过 hamibot.env 对象在脚本中获取你在配置界面设置的参数。Hamibot 会自动将你定义的配置项解析为键值对,并注入到 hamibot.env 中,你可以在脚本中直接读取这些值。

假设你的配置如下(你已定义):

[
  {
    "name": "totalRunMinutes",
    "type": "range",
    "label": "总运行时间(分钟)",
    "min": 1,
    "max": 60,
    "default": 10,
    "show-value": true
  },
  {
    "name": "minWaitSeconds",
    "type": "range",
    "label": "最小等待时间(秒)",
    "min": 5,
    "max": 15,
    "default": 5,
    "show-value": true
  },
  {
    "name": "maxWaitSeconds",
    "type": "range",
    "label": "最大等待时间(秒)",
    "min": 10,
    "max": 30,
    "default": 10,
    "show-value": true
  },
  {
    "name": "minSwipeDuration",
    "type": "range",
    "label": "最小滑动持续时间(毫秒)",
    "min": 300,
    "max": 500,
    "default": 300,
    "show-value": true
  },
  {
    "name": "maxSwipeDuration",
    "type": "range",
    "label": "最大滑动持续时间(毫秒)",
    "min": 500,
    "max": 1000,
    "default": 800,
    "show-value": true
  }
]

在脚本中,你可以这样使用:

// 获取配置参数
var totalRunMinutes = hamibot.env.totalRunMinutes || 10;
var minWaitSeconds = hamibot.env.minWaitSeconds || 5;
var maxWaitSeconds = hamibot.env.maxWaitSeconds || 10;
var minSwipeDuration = hamibot.env.minSwipeDuration || 300;
var maxSwipeDuration = hamibot.env.maxSwipeDuration || 800;

// 示例:打印参数
log('总运行时间: ' + totalRunMinutes + ' 分钟');
log('等待时间范围: ' + minWaitSeconds + ' ~ ' + maxWaitSeconds + ' 秒');
log('滑动持续时间范围: ' + minSwipeDuration + ' ~ ' + maxSwipeDuration + ' 毫秒');

// 使用示例:随机等待
function randomWait() {
    var waitSec = random(minWaitSeconds, maxWaitSeconds);
    log('等待 ' + waitSec + ' 秒');
    sleep(waitSec * 1000);
}

// 使用示例:随机滑动时长
function randomSwipe() {
    var duration = random(minSwipeDuration, maxSwipeDuration);
    swipe(500, 1000, 500, 500, duration);
    log('滑动完成,耗时 ' + duration + ' 毫秒');
}

// 主循环
var startTime = new Date().getTime();
var totalTimeMs = totalRunMinutes * 60 * 1000;

while (new Date().getTime() - startTime < totalTimeMs) {
    randomWait();
    randomSwipe();
}

注意事项:

  • 所有 hamibot.env 的值都是数字类型(因为是 range 类型),可以直接用于计算。
  • 建议为每个值提供默认值(使用 ||),以防配置未正确加载。
  • 脚本运行前确保已在 Hamibot 应用中保存了配置。

这样,你就可以灵活地通过 UI 配置来控制脚本行为,而无需修改代码。

ℹ️ 本回答由 AI 生成,内容仅供参考