[
{
"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
}
]
怎么将配置传到程序中
回答
文档地址 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 配置来控制脚本行为,而无需修改代码。