【Autox.js】 微信机器人-顶部浮窗
var stop_storage = storages.create("stop");
// 执行前先清除上一次的记录
stop_storage.remove("stop") // 暂停状态
stop_storage.remove("time") // 执行倒计时
stop_storage.remove("cmd") // cmd命令状态
cmd_map = {
"INIT": "初始化",
"undefined": "空闲中",
"IDLE": "空闲中",
"REQUEST_ADD_FRIEND": "加好友",
"REPORT_FRIENDS_SUMMARY": "上报粉丝",
"CHECK_FRIENDS_REQUEST": "被动接粉",
"REPLY_NEW_USERS": "回复新用户",
"SEND_CIRCLE_FRIEND": "发朋友圈",
"BROWSER_CIRCLE_FRIEND": "浏览朋友圈",
"BROWSE_ARTICLES": "浏览公众号",
"UPDATE": "更新脚本",
"ROLLBACK": "回退脚本",
"EMPTY_THE_ALBUM":"清空相册"
}
function get_version() {
// 获取当前项目版本
var root_path = files.cwd()
version_file = files.join(root_path, "/project.json")
if (files.exists(version_file)) {
infos = files.read(version_file)
json_info = JSON.parse(infos)
return json_info.versionName
}
return "0.0.0"
}
function countdown(second) {
// 倒计时
var s = Math.floor(second % 60);
var m = Math.floor(second / 60);
return `${`00${m}`.slice(-2)} : ${`00${s}`.slice(-2)}`;
}
cmd_text = "初始化"
info_text = "执行中,勿操作。如需操作,点击色块暂停"
function notice_win() {
// 顶部信息弹窗
screen_width = device.width
aqu_widht = device.width / 1.6 / 3
var notice_bar = floaty.rawWindow(
<card cardCornerRadius="10" gravity="center">
<vertical bg="#CCFF0000" id="notice" >
<horizontal >
<vertical w="{{aqu_widht/4.5}}" h="20">
<text
textSize='8ps'
paddingLeft="5" gravity="left" textColor="#A0F5F5F5">
Wx助手
</text>
<text></text>
</vertical>
<text
paddingTop="10px"
id="cmd" gravity="center" textStyle="bold" w="{{aqu_widht/1.8}}" textSize='18ps' textColor="#F5F5F5">{cmd_text}
</text>
<vertical w="{{aqu_widht/4.5}}">
<text
textSize='8ps' paddingRight="5" gravity="right" textColor="#A0F5F5F5">V{get_version()}
</text>
<text></text>
</vertical>
</horizontal>
<text
textSize='9ps' id="info" gravity="center" textColor="#F5F5F5">
{info_text}
</text>
</vertical>
</card>
);
notice_bar.setSize(screen_width / 1.6, 135)
notice_bar.setTouchable(true);
notice_bar.setPosition(screen_width / 5.5, 0)
notice_bar.notice.click(function () {
// 点击事件
stop_storage.put("stop", !stop_storage.get("stop") ? 1 : 0)
})
setInterval(() => {
ui.run(function () {
stop_status = stop_storage.get("stop")
if (!stop_status) {
cmd_text = cmd_map[stop_storage.get("cmd")]
if (cmd_text != "空闲中") {
info_text = "执行中,勿操作。如需操作,点击色块暂停"
notice_bar.notice.attr("bg", "#CCFF0000")
} else {
info_text = "脚本空闲中,可操作手机"
notice_bar.notice.attr("bg", "#CC62D962")
}
} else {
if (stop_status == 1) {
cmd_text = "准备暂停"
info_text = "正在暂停脚本,勿操作,请稍后..."
notice_bar.notice.attr("bg", "#CCFF0000")
} else {
time = stop_storage.get('time')
cmd_text = '暂停中..'
info_text = `脚本暂停中,可操作手机,${countdown(time)}后可恢复`
time--;
stop_storage.put('time', time)
notice_bar.notice.attr("bg", "#CC62D962")
}
}
notice_bar.cmd.setText(cmd_text)
notice_bar.info.setText(info_text)
})
}, 1000)
}
if (!floaty.checkPermission()) {
// 没有悬浮窗权限,提示用户并跳转请求
toast("本脚本需要悬浮窗权限来显示悬浮窗,请在随后的界面中允许并重新运行本脚本。");
floaty.requestPermission();
exit();
} else {
notice_win()
}
//启用按键监听
events.observeKey();
//监听音量上键按下
events.onKeyDown("volume_up", function(event){
stop_storage.put("stop", !stop_storage.get("stop") ? 1 : 0)
// device.setBrightness(stop_storage.get("stop")?35:5)
});
效果图:





浙公网安备 33010602011771号