回答
以下是为你编写的每9分钟自动上滑一次的Hamibot脚本。脚本采用 while 循环配合 sleep 实现定时,避免单线程阻塞导致定时器失效的问题。
// 文档地址 https://docs.hamibot.com/
// 获取设备屏幕宽高
var width = device.width;
var height = device.height;
// 设置上滑起点(屏幕中下部)和终点(屏幕中上部)
var startX = width / 2;
var startY = height * 0.8;
var endX = width / 2;
var endY = height * 0.2;
var swipeDuration = 500; // 滑动动画耗时(毫秒)
// 9分钟转换为毫秒
var interval = 9 * 60 * 1000;
while (true) {
// 执行上滑
swipe(startX, startY, endX, endY, swipeDuration);
// 等待滑动动作完成
sleep(swipeDuration + 200);
// 等待9分钟
sleep(interval);
}
关键说明:
- 定时机制:Hamibot 脚本运行在单线程环境中,若使用
setInterval或setTimeout,主线程的耗时操作会导致定时器延迟或无法触发。采用while(true)+sleep()是官方推荐的稳定周期性任务实现方式。 - 坐标适配:通过
device.width和device.height动态计算滑动坐标,兼容不同分辨率设备。若目标App的滑动区域特殊,可调整startY和endY的比例(例如height * 0.9到height * 0.1)。 - 运行要求:确保 Hamibot 已开启无障碍服务,并在需要上滑的界面前台运行该脚本。部分系统可能限制后台脚本执行,建议在 Hamibot 任务设置中开启“保持唤醒”或“前台服务”。
- 停止脚本:在 Hamibot 控制台或系统任务管理中点击停止即可安全中断循环。
如需添加界面检测、滑动失败重试或日志记录功能,可提供具体场景,我将为你补充对应逻辑。
ℹ️ 内容由 AI 生成,可能不准确,请注意核实