floaty.window 里边设置个时间选择器,demo
上方代码 prompt 点击按钮后 闪退
dialogs.prompt 完整demo
回答
文档地址 https://docs.hamibot.com/
var w = floaty.window(
<vertical>
<text id="timeText" text="选择时间" />
<button id="selectTimeBtn" text="选择时间" />
</vertical>
);
w.selectTimeBtn.click(function () {
// 这里可以添加时间选择逻辑
// 由于Hamibot目前不支持直接弹出时间选择器,需要自己实现或使用其他方式
// 示例:假设用户手动输入时间
var time = prompt("请输入时间(格式:HH:mm)", "12:00");
if (time) {
w.timeText.setText(time);
}
});
setTimeout(function () {
w.close();
}, 5000);
补充回答 1
如果点击按钮后脚本闪退,可能是由于以下原因导致的:
-
代码错误:检查你的代码是否有语法错误或者逻辑错误。例如,函数调用是否正确,变量是否已定义等。
-
权限问题:确保你的脚本已经获得了所有必要的权限,包括无障碍服务和后台弹窗权限。
-
资源问题:检查是否有资源不足的问题,例如内存不足或者文件未正确加载。
-
异常处理:在代码中添加异常处理机制,以便在发生错误时能够捕获并处理异常,避免脚本突然退出。
你可以尝试在代码中添加 try...catch
块来捕获可能的异常,并打印错误信息以便调试。例如:
try {
// 你的代码
} catch (e) {
toast("发生错误: " + e);
}
如果问题仍然存在,建议你检查脚本的日志输出,或者在 Hamibot 的官方论坛或支持渠道寻求帮助。
补充回答 2
以下是一个使用 dialogs.prompt
的完整示例代码:
// 文档地址 https://docs.hamibot.com/
var input = dialogs.prompt("请输入您的年龄", "18");
if (input != null) {
var age = parseInt(input);
var year = new Date().getFullYear() - age;
toast("您的出生年份是" + year);
} else {
toast("您取消了输入");
}