├── README ├── tool └── unlock.js ├── 微信抢红包.js ├── 朋友圈点赞.js └── 钉钉下班打卡.js /README: -------------------------------------------------------------------------------- 1 | # Auto.js 脚本 2 | 3 | 该项目是基于Auto.js开发的自动化运行脚本,伸手党注意! -------------------------------------------------------------------------------- /tool/unlock.js: -------------------------------------------------------------------------------- 1 | //console.show() 2 | //定义屏幕类 3 | function _Screen() { 4 | 5 | } 6 | 7 | 8 | _Screen.prototype.getxy = function(num) { 9 | arr = Array() 10 | arr[1] = [250, 1335] 11 | arr[2] = [540, 1335] 12 | arr[3] = [830, 1335] 13 | 14 | arr[4] = [250, 1625] 15 | arr[5] = [540, 1625] 16 | arr[6] = [830, 1625] 17 | 18 | arr[7] = [250, 1915] 19 | arr[8] = [540, 1915] 20 | arr[9] = [830, 1915] 21 | 22 | return arr[num] 23 | }; 24 | 25 | _Screen.prototype.unlock = function() { 26 | // console.log("checking Screen") 27 | if (!device.isScreenOn()) { 28 | //console.log("Screen is off, going to unlock") 29 | //唤醒手机 30 | device.wakeUp() 31 | sleep(500) 32 | //下拉状态栏 33 | swipe(500, 10, 500, 1000, 200) 34 | sleep(300) 35 | //点击时间 36 | click(100, 120) 37 | //swipe(250,1335,540,1335,1000) 38 | sleep(200) 39 | //滑动手势进行解锁 40 | gesture(1000, this.getxy(2), this.getxy(4), this.getxy(5), 41 | this.getxy(3), this.getxy(6), this.getxy(8) 42 | ) 43 | sleep(1000) 44 | home() 45 | }else{ 46 | //下拉状态栏 47 | swipe(500, 10, 500, 1000, 200) 48 | sleep(300) 49 | //点击时间 50 | click(100, 120) 51 | //swipe(250,1335,540,1335,1000) 52 | sleep(300) 53 | var c =className("TextView").text("闹钟2").find() 54 | console.log(c) 55 | 56 | //滑动手势进行解锁 57 | gesture(1000, this.getxy(2), this.getxy(4), this.getxy(5), 58 | this.getxy(3), this.getxy(6), this.getxy(8) 59 | ) 60 | sleep(1000) 61 | home() 62 | } 63 | } 64 | 65 | 66 | 67 | 68 | //setTimeout(function(){p.unlock()},3000) 69 | 70 | module.exports = _Screen -------------------------------------------------------------------------------- /微信抢红包.js: -------------------------------------------------------------------------------- 1 | while (true) { 2 | sleep(100) 3 | var c = className("TextView").text("领取红包").find() 4 | var n = c.length 5 | console.log(n) 6 | 7 | c.each(function(obj) { 8 | obj.parent().click() 9 | sleep(200) 10 | className("TextView").text("给你发了一个红包").untilFind() 11 | click(500, 1300) 12 | sleep(200) 13 | var ro = className("ImageView").desc("返回").untilFind() 14 | ro[0].click() 15 | back() 16 | }) 17 | } -------------------------------------------------------------------------------- /朋友圈点赞.js: -------------------------------------------------------------------------------- 1 | "auto"; 2 | 3 | //下滑 4 | function scroll() { 5 | className("ListView").scrollDown(); //.scrollForward(); 6 | } 7 | 8 | //尝试点赞 9 | function tryFav(btn) { 10 | btn.click(); 11 | sleep(300) 12 | if (!click("赞")) { 13 | btn.click(); 14 | } 15 | sleep(200) 16 | } 17 | console.show() 18 | console.log("start") 19 | while (true) { 20 | id("nh").untilFind(); 21 | var c = id("nh").find(); 22 | // console.log(nh) 23 | 24 | // className("ImageView").desc("评论").untilFind(); 25 | // var c = className("ImageView").desc("评论").find(); 26 | var n = c.length 27 | console.log(n) 28 | var i = 0 29 | c.each(function(btn) { 30 | tryFav(btn); 31 | i++ 32 | if (i >= n) { 33 | scroll() 34 | } 35 | }); 36 | 37 | //scroll(); 38 | } -------------------------------------------------------------------------------- /钉钉下班打卡.js: -------------------------------------------------------------------------------- 1 | 2 | const Screen2= require("tool/unlock.js") 3 | 4 | console.show() 5 | var scr= new Screen2() 6 | 7 | //setTimeout(function(){p.unlock()},3000) 8 | //一分钟内产生随机数打卡 9 | //var randomTime = Math.random()*10*1000; 10 | var randomTime = 3000; 11 | 12 | console.log('打卡计时开始' + (randomTime / 1000).toFixed(2) + '秒后打卡'); 13 | toast('打卡计时开始' + (randomTime / 1000).toFixed(2) + '秒后打卡'); 14 | setTimeout(() => { 15 | console.log('开始打卡'); 16 | //swipe(500, 10, 500, 1000, 300); 17 | //click(100, 120); 18 | scr.unlock(); 19 | punchClock(); 20 | console.log('打卡结束'); 21 | }, randomTime); 22 | 23 | //解锁 24 | function unlock() { 25 | //息屏和锁屏状态需要解锁 26 | if (!device.isScreenOn() || desc("快捷方式").exists()) { 27 | //曲线解锁 miui锁屏滑动不能唤出密码输入 通过下拉通知栏点击时间进入密码解锁 28 | device.wakeUp(); 29 | //下拉状态栏 30 | console.log('2'); 31 | 32 | //swipe(500, 100, 500, 1000, 300); 33 | swipe(10, 2238, 1080, 2238, 3000); 34 | 35 | 36 | console.log('3'); 37 | 38 | /* 39 | sleep(400); 40 | //点击时间 41 | click(100, 120); 42 | console.log('4'); 43 | 44 | //解锁 密码5566 45 | desc(2).findOne().click(); 46 | desc(4).findOne().click(); 47 | desc(5).findOne().click(); 48 | desc(3).findOne().click(); 49 | desc(6).findOne().click(); 50 | desc(8).findOne().click(); 51 | 52 | //等待解锁完成 53 | text('闹钟').waitFor(); 54 | //返回主页 55 | home(); 56 | */ 57 | } 58 | } 59 | //打卡 60 | function punchClock() { 61 | sleep(200); 62 | //启动钉钉 63 | launch("com.alibaba.android.rimet"); 64 | //等待钉钉启动 65 | desc("工作").waitFor(); 66 | desc("工作").findOne().click(); 67 | if (!text("考勤打卡").exists()) { 68 | swipe(500, 1300, 500, 500, 300); 69 | sleep(400); 70 | } 71 | text("考勤打卡").findOne().parent().click(); 72 | //等待打卡界面加载 73 | descContains("班时间").waitFor(); 74 | //打卡按钮名字 75 | var descStr = getOpr(); 76 | if (!desc(descStr).exists()) { 77 | toast(descStr + '不存在'); 78 | exit() 79 | } 80 | toast('按钮名:' + descStr); 81 | var button = desc(descStr).findOne(); 82 | var bounds = button.bounds(); 83 | var x = bounds.centerX(); 84 | var y = bounds.centerY(); 85 | //遮挡滚动 86 | if (y > 1776) { 87 | swipe(500, 1500, 500, 300, 300); 88 | sleep(500); 89 | button = desc(descStr).findOne(); 90 | bounds = button.bounds(); 91 | x = bounds.centerX(); 92 | y = bounds.centerY(); 93 | } 94 | toast('坐标:' + x + ', ' + y); 95 | //通过点击位置打卡 96 | click(x, y); 97 | } 98 | 99 | //根据上下班时间获取打卡按钮名字 100 | function getOpr() { 101 | var span = descContains("班时间").find(); 102 | var timeArr = []; 103 | var now = new Date(); 104 | var yearStr = (now.getFullYear()) + "/" + (now.getMonth() + 1) + "/" + (now.getDate()) + ' '; 105 | span.forEach(v => { 106 | var str = v.desc(); 107 | var exec = /(.*)时间(.*)/.exec(str); 108 | var opr = exec[1]; 109 | var timeStr = exec[2]; 110 | var opTime = new Date(yearStr + timeStr); 111 | //上班时间提前十分钟就可以打卡 112 | if (opr == '上班') { 113 | opTime.setMinutes(opTime.getMinutes() - 10); 114 | } 115 | console.log(yearStr + timeStr) 116 | timeArr.push({ 117 | timeStr: timeStr, 118 | opr: opr, 119 | time: opTime 120 | }) 121 | }) 122 | var descStr; 123 | console.log(timeArr) 124 | timeArr.some((v, i) => { 125 | console.log(v.timeStr) 126 | if (now > v.time && (i == timeArr.length - 1 || now < timeArr[i + 1].time)) { 127 | descStr = v.opr + '打卡'; 128 | return true 129 | } 130 | }) 131 | return descStr 132 | } --------------------------------------------------------------------------------