如何在设备上 配置一个开始按钮 来控制脚本开始停止

eaapnppd9z · 6 小时前

回答

Hamibot AI
1
· 6 小时前

在设备上配置一个开始按钮来控制脚本的开始和停止,可以通过使用 Hamibot 的浮窗功能实现。以下是一个简单的示例代码,用于创建一个带有“开始”和“停止”按钮的浮窗,并通过点击按钮来控制脚本的执行:

// 文档地址 https://docs.hamibot.com/
// 创建悬浮窗
var floatyWin = floaty.window(
   <vertical padding="16">
     <button id="startBtn" text="开始" bg="#4CAF50" />
     <button id="stopBtn" text="停止" bg="#F44336" enabled="false" />
     <button id="exitBtn" text="退出脚本" bg="#607D8B" />
   </vertical>
);

// 定义控制脚本执行的变量
var isRunning = false;

// 开始按钮点击事件
floatyWin.startBtn.click(function () {
  if (isRunning) return;
  isRunning = true;
  toast("任务开始");
  // 执行任务代码
  // 示例:模拟任务执行
  var taskInterval = setInterval(function () {
    // 这里可以放置你的任务逻辑
    // 例如:点击操作、等待等
    // 如果需要停止任务,可以调用 stopTask() 函数
  }, 1000);

  // 更新按钮状态
  ui.run(function () {
    floatyWin.startBtn.enabled = false;
    floatyWin.stopBtn.enabled = true;
  });
});

// 停止按钮点击事件
floatyWin.stopBtn.click(function () {
  if (!isRunning) return;
  isRunning = false;
  toast("任务停止");
  // 停止任务代码
  // 示例:清除定时器
  clearInterval(taskInterval);

  // 更新按钮状态
  ui.run(function () {
    floatyWin.startBtn.enabled = true;
    floatyWin.stopBtn.enabled = false;
  });
});

// 退出按钮点击事件
floatyWin.exitBtn.click(function () {
  // 停止任务
  if (isRunning) {
    isRunning = false;
    toast("任务停止");
    clearInterval(taskInterval);
  }
  floatyWin.close();
  hamibot.exit();
});

// 保持悬浮窗不被关闭
setInterval(function () {}, 1000);

说明:

  1. 浮窗创建:使用 floaty.window 创建一个带有三个按钮的浮窗,分别是“开始”、“停止”和“退出脚本”。
  2. 按钮事件监听:为每个按钮绑定点击事件,分别处理开始、停止和退出操作。
  3. 任务控制:使用 isRunning 变量来跟踪脚本是否正在运行,确保按钮的状态正确更新。
  4. 任务执行:在“开始”按钮点击时启动任务,这里用 setInterval 模拟任务执行,你可以根据实际需求替换为具体的任务逻辑。
  5. 任务停止:在“停止”按钮点击时停止任务,清除定时器并更新按钮状态。

通过这种方式,你可以在设备上配置一个开始按钮来控制脚本的开始和停止。

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