文章目录
前言思路完整代码后言
前言
首先呢,咪咕的这个获取是在手机上打卡的,平时看书都喜欢在kindle上面看,毕竟现在眼睛没以前好了,就想着用auto.js写个自动翻页的,每次打开就直接放那里就行了
思路
思路很简单,直接用定时器使用click模拟点击右下角就可以了
setInterval(() => {
if (flag
) {
click(800, 1500);
}
}, 10000);
但是这样呢好没技术含量,优化一下,加个随机数,随机随时点击屏幕右下角,这样就能更好的模拟点击了,就算咪咕后面直接检测是否机器,随机随时的自动点击,他也检测不出来了
let clickX
= device
.width
- 200;
let clickY
= device
.height
- 200;
setInterval(() => {
if (flag
) {
;
let random
= Math
.floor(Math
.random() * 100);
sleep(random
*20);
click(clickX
- random
, clickY
- random
);
}
}, 10000);
由于咪咕打卡有个时间限制,就是15分钟就可以了,所以再加个时间显示,再加个微信推送,那样上班时候,电脑微信收到通知,就知道手机打完卡,再去点一下签到,一天就搞完了,微信推送用的是server酱
setInterval(() => {
if (flag
) {
let endStamp
= (new Date()).getTime();
costStamp
= endStamp
- staStamp
+ costStamp
;
staStamp
= endStamp
;
let costTime
= parseInt(costStamp
/ 1000 / 60) + "分" + (parseInt(costStamp
/ 1000) % 60) + "秒";
ui
.run(function() {
window
.msy_time
.setText("执行时长:" + costTime
);
});
if (costStamp
> 16 * 60 * 1000 && !tuisongFlag
) {
tuisongFlag
= true;
Tools
.ServerMessage
.sendMessage("咪咕阅读时长已达标", "");
};
}
}, 500);
还有些其他的小功能,例如说有开始执行,暂停执行,中止执行的按钮那些,就不累赘了,自己看完整代码吧
完整代码
log("声明:");
log("1、版权归MoyAiTing所有,未经允许,请勿传播使用。");
log("2、此软件仅做技术分享演示使用,请勿用作其他用途。");
log("说明:");
log("1、获取文件权限可以拒绝,auto.js打包的,会自动获取");
log("2、需要获取无障碍和浮窗权限,软件会自动打开,同意即可,同意后,没有显示浮窗,重启软件即可");
log("3、重启可以解决大部分问题");
log("4、点击开始执行,在屏幕右下角部分,每隔10s到12s左右,随机点击屏幕区域");
auto();
var window
= floaty
.window(
<vertical
>
<text id
="msy_begin" padding
="10" margin
="5" bg
="#00B400" alpha
="0.8" text
="开始运行" textSize
="16sp" textStyle
="bold" textColor
="#FFFFFF" />
<text id
="msy_suspend" padding
="10" margin
="5" bg
="#00B400" alpha
="0.8" text
="暂停运行" textSize
="16sp" textStyle
="bold" textColor
="#FFFFFF" />
<text id
="msy_over" padding
="10" margin
="5" bg
="#00B400" alpha
="0.8" text
="终止运行" textSize
="16sp" textStyle
="bold" textColor
="#FFFFFF" />
<text id
="msy_time" padding
="10" margin
="5" bg
="#00B400" alpha
="0.8" text
="执行时长:0分0秒" textSize
="16sp" textStyle
="bold" textColor
="#FFFFFF" />
</vertical
>
)
let flag
= false;
let staStamp
= (new Date()).getTime();
let costStamp
= 0;
let tuisongFlag
= false;
let clickX
= device
.width
- 200;
let clickY
= device
.height
- 200;
window
.msy_begin
.click(() => {
toast('脚本开始执行啦');
staStamp
= (new Date()).getTime();
flag
= true;
})
window
.msy_suspend
.click(() => {
toast('脚本暂停执行啦');
flag
= false;
})
window
.msy_over
.click(() => {
toast('脚本终止执行啦');
window
.close();
exit();
})
setInterval(() => {
if (flag
) {
let endStamp
= (new Date()).getTime();
costStamp
= endStamp
- staStamp
+ costStamp
;
staStamp
= endStamp
;
let costTime
= parseInt(costStamp
/ 1000 / 60) + "分" + (parseInt(costStamp
/ 1000) % 60) + "秒";
ui
.run(function() {
window
.msy_time
.setText("执行时长:" + costTime
);
});
if (costStamp
> 16 * 60 * 1000 && !tuisongFlag
) {
tuisongFlag
= true;
};
}
}, 500);
setInterval(() => {
if (flag
) {
let random
= Math
.floor(Math
.random() * 100);
sleep(random
*20);
click(clickX
- random
, clickY
- random
);
}
}, 10000);
后言
开发用的是auto.js可以自己下载,然后把源码导进去就可以了,或者直接下载这个apk,auto.js是支持导出apk的 百度云盘:https://pan.baidu.com/s/10fq9vDYj6HIZyDgCW9kcjg 提取码:k1ak我还有一个支付宝自动偷能量的,那个比较复杂一点,而且涉及多个模块,然后auto.js的打包有点bug,竟然不支持多个js打包,所以打不成apk,这个后续有时间再写一篇吧,还有一个年会抢红包的auto,js还是挺好玩的,有点js基础的,都可以很快上手,建议玩一下