咪咕自动翻页打卡(免费得kindle)

    技术2022-07-12  101

    文章目录

    前言思路完整代码后言

    前言

    首先呢,咪咕的这个获取是在手机上打卡的,平时看书都喜欢在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线程中执行 ui.run(function() { window.msy_time.setText("执行时长:" + costTime); }); if (costStamp > 16 * 60 * 1000 && !tuisongFlag) { tuisongFlag = true; Tools.ServerMessage.sendMessage("咪咕阅读时长已达标", ""); }; } }, 500);

    还有些其他的小功能,例如说有开始执行,暂停执行,中止执行的按钮那些,就不累赘了,自己看完整代码吧

    完整代码

    //const Tools = require("./comm/utils/Tools.js"); 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线程中执行 ui.run(function() { window.msy_time.setText("执行时长:" + costTime); }); if (costStamp > 16 * 60 * 1000 && !tuisongFlag) { tuisongFlag = true; //Tools.ServerMessage.sendMessage("咪咕阅读时长已达标", ""); }; } }, 500); setInterval(() => { if (flag) { //toast(device.getAndroidId()); let random = Math.floor(Math.random() * 100); sleep(random*20); click(clickX - random, clickY - random); //sleep(500); //swipe(180, 1790, 900, 1790, 150); } }, 10000);

    后言

    开发用的是auto.js可以自己下载,然后把源码导进去就可以了,或者直接下载这个apk,auto.js是支持导出apk的 百度云盘:https://pan.baidu.com/s/10fq9vDYj6HIZyDgCW9kcjg 提取码:k1ak我还有一个支付宝自动偷能量的,那个比较复杂一点,而且涉及多个模块,然后auto.js的打包有点bug,竟然不支持多个js打包,所以打不成apk,这个后续有时间再写一篇吧,还有一个年会抢红包的auto,js还是挺好玩的,有点js基础的,都可以很快上手,建议玩一下
    Processed: 0.010, SQL: 9