用autoJS写的能量收取脚本软件。说一下达到的效果,把蚂蚁森林按钮要设置在常用应用中。先收取自己主页的能量,然后进入排行榜收集好友的能量。中途可以按下音量下键提前结束脚本运行。改改测测基本上现在运行完美的了,充分衡量了网络延迟和程序运行正常的平衡性。并且支持支持运动能量生成时间段执行,等待自己的运动能量生成收集。我是配合塔设置的定时执行脚本,由塔唤醒设备教程链接,调用autoJS插件执行任务。总之我觉得要想下载下来直接使用的话可能由于运行环境因素,你可能要调整一下。这个作为参考的价值还是稍微比较好的。
<强>说明:强>
我的设备是6.0的,因为点击及很多函数7.0以上才能用。根据搜索组件,利用UiObject组件的点击点击我测试在我这失效,改用了获取到组件位置后,调用丝锥(x, y)。点击,滑动的处理我用的是根的处理方式,没根自行应该改为无障碍方式应该也可以话。目前只支持分辨率为1080,1920。如果分辨率不一样,可能你还有做分辨率兼容性处理,或者等我后续处理。后边会不定期更新新的功能
var myEnergeType=["线下支付”、“行”走,“共享单车”,“地铁购票”,“网络购票”,“网购火车票”,“生活缴费”,”等缴费”、“电子发票”,“绿色办公”,“咸鱼交易”、“预约挂号”); var morningTime=" 07:10”;//自己运动能量生成时间 函数tLog(味精){ 烤面包(味精); console.log(味精) }/* * *获取权限和设置参数 */函数prepareThings () { setScreenMetrics (1080、1920);//请求截的图 如果(! requestScreenCapture ()) { tLog(“请求截图失败”); 退出(); } }/* * *设置按键监听当脚本执行时候按音量减退出脚本 */函数registEvent () {//启用按键监听 events.observeKey ();//监听音量上键按下 事件。onKeyDown (“volume_down函数(事件){ tLog(“脚本手动退出”); 退出(); }); }/* * *获取截的图 */函数getCaptureImg () { var img0=captureScreen (); 如果(img0==null | | typeof (img0)==皍ndifined”) { tLog(“截图失败,退出脚本”); 退出(); 其他}{ 返回img0; } }/* * *默认程序出错提示操作 */函数defaultException () { tLog(“程序当前所处状态不合预期,脚本退出”); 退出(); }/* * *等待加载收集能量页面,采用未找到指定组件阻塞的方式,等待页面加载完成 */函数waitPage(类型){//等待进入自己的能量主页 如果(type==0) { desc(“消息”).findOne (); }//等待进入他人的能量主页 else if (type==1) { desc(“浇水”).findOne (); }//再次容错处理 睡眠(3000); }/* * *从支付宝主页进入蚂蚁森林我的主页 */函数enterMyMainPage () { launchApp(“支付宝”); tLog(“等待支付宝启动”); var=0; 睡眠(1000);//五次尝试蚂蚁森林入口 而(! textEndsWith(“蚂蚁森林”).exists (),,i<=5) { 睡眠(2000); 我+ +; } clickByText(“蚂蚁森林”,的确,“请把蚂蚁森林入口添加到主页我的应用”);//等待进入自己的主页 waitPage (0); }/* * *进入排行榜 */函数enterRank () { 刷卡(520、1860、520100); 睡眠(2500); clickByDesc(“查看更多好友”,0,真的,”程序未找到排行榜入口,脚本退出”); var=0;//等待排行榜主页出现 睡眠(2000); 而(! textEndsWith(“好友排行榜”).exists (),,i<=5) { 睡眠(2000); 我+ +; } 如果(i>=5) { defaultException (); } }/* * *从排行榜获取可收集好有的点击位置 * @returns {*} */函数getHasEnergyfriend(类型){ var img=getCaptureImg (); var p=零; 如果(type==1) {//411宽度# a2cbb4 1032、1820 # 30 bf6c 1032, 1787 -33 # 52 ca84 1032 1832 12 # ffffff 1032、1835 15 p=图像。findMultiColors (img,“# a2cbb4”, [[0, -33,“# 30 bf6c”],[0, 12日“# 52 ca84”], [0 15 # ffffff”]], { 地区:(1032、180、1700) }); }else if(类型==2){//480宽度基准1775点,832 # 30 bf6 2、23 # ffffff 5、16 # ffffff 0, -12 # 30 bf6c 0, 44 # 30 bf6c p=图像。findMultiColors (img,“# 30 bf6c”, [[2、23 # ffffff”], [5、16 # ffffff”], [0, -12,“# 30 bf6c”],[0, 44岁的" # 30 bf6c "]], { 地区:(1069、180、1680) }); } 如果(p !=null) { 返回p; 其他}{ 返回null; } }/* * *判断是否好有排行榜已经结束 * @returns{布尔} */函数isRankEnd () { 如果(descEndsWith(“没有更多了”).exists ()) { var b=descEndsWith(“没有更多了”).findOne (); var b=b.bounds (); 如果(bs.centerY () & lt; 1920) { 返回true; } } 返回错误; }/* * *在排行榜页面,循环查找可收集好友 * @returns{布尔} */函数enterOthers () { tLog(“开始检查排行榜”); var i=1; var ePoint=getHasEnergyfriend (1);//确保当前操作是在排行榜界面 而(ePoint==零,,textEndsWith(“好友排行榜”).exists ()) {//滑动排行榜根方式的的点击调用。如无根权限,7.0及其以上可采用无障碍模式的相关函数 刷卡(520,1800,520300,1000); 睡眠(3000); ePoint=getHasEnergyfriend (1); 我+ +;//检测是否排行榜结束了 如果(isRankEnd ()) { 返回错误; }//如果连续32次都未检测到可收集好友,无论如何停止查找(由于程序控制了在排行榜界面,且判断了结束标记,基本已经不存在这种情况了) else if (i> 32) { tLog(“程序可能出错,连续”+我+“次未检测到可收集好友”); 退出(); } } 如果(ePoint !=null) {//点击位置相对找图后的修正 水龙头(ePoint.x ePoint.y + 20); waitPage (1); clickByDesc(“可收取",80);//进去收集完后,递归调用enterOthers 回(); 睡眠(2000); var j=0;//等待返回好有排行榜 如果(! textEndsWith(“好友排行榜”).exists (),,jAuto.js自动收取自己和好友蚂蚁森林能量脚本