回答
可以实现这个需求。Hamibot提供了悬浮窗(floaty)和脚本引擎(engines)功能,能让你创建一个自定义的操作界面来控制脚本运行。以下是具体实现方法:
- 创建主脚本,使用悬浮窗作为操作界面
- 在悬浮窗上添加按钮等UI元素
- 为按钮绑定点击事件,触发其他脚本的执行
示例代码:
// 文档地址 https://docs.hamibot.com/
// 创建悬浮窗控制面板
var window = floaty.window(
<frame gravity="center">
<vertical padding="10">
<button id="runScript1" text="运行脚本1" w="200" h="60"/>
<button id="runScript2" text="运行脚本2" w="200" h="60" margin="10 0"/>
<button id="close" text="关闭面板" w="200" h="60"/>
</vertical>
</frame>
);
// 按钮点击事件监听
window.runScript1.click(function() {
// 执行指定脚本(替换"脚本名称"为你的实际脚本名)
engines.execScript("脚本1", "require('脚本1');");
});
window.runScript2.click(function() {
engines.execScript("脚本2", "require('脚本2');");
});
window.close.click(function() {
window.close();
// 可选:关闭悬浮窗时结束当前脚本
// exit();
});
// 防止悬浮窗被关闭时脚本继续运行
window.exitOnClose();
// 保持脚本运行(事件监听需要)
setInterval(function() {}, 1000);
使用说明:
- 将上述代码保存为新脚本(如"控制面板")
- 运行该脚本会显示悬浮操作面板
- 点击面板上的按钮即可运行指定脚本
- 点击"关闭面板"可隐藏悬浮窗
注意事项:
- 需要确保目标脚本已经安装在Hamibot中
- 悬浮窗需要"显示在其他应用上层"权限
- 如果脚本有特定权限需求(如无障碍),需提前授权
- 通过require方式调用脚本比直接使用toast等代码更可靠
这种方式完全在手机端操作,不需要通过网页端点击运行,适合分享给他人使用。你也可以根据需要扩展功能,比如添加脚本参数设置、运行状态显示等。