[安卓软件] AUTOJS-JD-炸年兽V2京东活动

[复制链接]
查看637 | 回复4 | 2022-1-15 18:29:44 | 显示全部楼层 |阅读模式
京东【炸年兽】活动,AUTOJS脚本,使用AUTOJS4.0.1版本运行
脚本和apk会给作者助力,介意绕路。
下载链接:
游客,如果您要查看本帖隐藏内容请回复

V2: 修改小程序、首页浮层、组队任务返回逻辑,提高任务成功率
  1. Start();
  2. console.info("开始任务");

  3. //浏览任务可能有直播或视频,提前静音
  4. console.info("设备设置静音");
  5. var v = device.getMusicVolume()
  6. device.setMusicVolume(0)
  7. CustomSleep(1, 3, "请稍候…");

  8. /*
  9.   参数说明:
  10.   参数1:启动的APP名称,如需手动,则填手动
  11.   参数2:对应参数1的APP名称,是否是分身应用,0:正常应用,1:分身有术Pro内部分身,暂不支持其他分身应用(如是多开分身,可在参数1中直接填入分身应用APP名称即可)
  12.   参数3:助力邀请,0:跳过助力邀请 1:助力邀请
  13.   参数4:是否入会,0:不执行入会任务 1:执行入会任务,遇到新入会店铺则退出任务 2:执行入会任务,遇到需入会店铺则返回,等待刷新别的店铺 3:执行入会任务,遇到需入会店铺,等待手动入会
  14. */
  15. Run("京东", 0, 1, 2); home();

  16. //分身有术缓存清理
  17. //CleanCache("分身有术Pro",1);
  18. console.info("结束任务");

  19. console.info("设备恢复原来音量");
  20. device.setMusicVolume(v)
  21. console.log("音量恢复为" + v);
  22. CustomSleep(1, 3, "请稍候…");

  23. console.log("已退出脚本");
  24. engines.myEngine().forceStop()

  25. function Start() {
  26.     auto.waitFor();//获取无障碍服务权限
  27.     console.show();//开启悬浮窗
  28.     console.info("京东<集爆竹炸年兽>任务");
  29.     //截图权限申请
  30.     threads.start(function () {
  31.         var beginBtn;
  32.         if (beginBtn = classNameContains("Button").textContains("立即开始").findOne(2000)) {
  33.             CustomSleep(0.5, 0.8, "请稍候…");
  34.             beginBtn.click();
  35.         }
  36.     });
  37.     CustomSleep(0.5, 0.8, "请稍候…");
  38.     if (!requestScreenCapture(false)) {
  39.         console.log("请求截图失败");
  40.         exit();
  41.     }
  42. }

  43. function Run(LauchAPPName, IsSeparation, IsInvite, IsJoinMember) {
  44.     var PageStatus = 0//页面状态,用于记录当前页面状态,避免点击错位置
  45.     if (IsSeparation == null) {
  46.         IsSeparation = 0 //0:正常应用 1:分身有术内部应用
  47.     } if (IsJoinMember == null) {
  48.         IsJoinMember = 0 //0:不执行入会任务 1:执行入会任务,遇到新入会店铺则退出脚本 2:执行入会任务,遇到需入会店铺则返回,等待刷新别的店铺 3:执行入会任务,遇到需入会店铺,等待手动入会
  49.     }
  50.     var IsSeparation_info = ""
  51.     var IsInvite_info = ""
  52.     var IsJoinMember_info = ""
  53.     if (IsSeparation == 0) {
  54.         IsSeparation_info = "正常应用"
  55.     } else if (IsSeparation == 1) {
  56.         IsSeparation_info = "分身有术Pro"
  57.     } else {
  58.         IsSeparation_info = "无效参数,改为默认值“非分身应用”"
  59.         IsSeparation = 0
  60.     }
  61.     if (IsInvite == 0) {
  62.         IsInvite_info = "跳过助力邀请"
  63.     } else if (IsInvite == 1) {
  64.         IsInvite_info = "助力邀请"
  65.     } else {
  66.         IsInvite_info = "无效参数,改为默认值“跳过助力邀请”"
  67.         IsInvite = 0
  68.     }
  69.     if (IsJoinMember == 0) {
  70.         IsJoinMember_info = "不执行入会"
  71.     } else if (IsJoinMember == 1) {
  72.         IsJoinMember_info = "有新入会店铺则退出脚本"
  73.     } else if (IsJoinMember == 2) {
  74.         IsJoinMember_info = "有新入会店铺则返回,等待刷新别的店铺"
  75.     } else if (IsJoinMember == 3) {
  76.         IsJoinMember_info = "有新入会店铺,等待手动入会"
  77.     } else {
  78.         IsJoinMember_info = "无效参数,改为默认值“不执行入会”"
  79.         IsJoinMember = 0
  80.     }
  81.     console.info(
  82.         "当前设置" + "\n" +
  83.         "启动APP:" + LauchAPPName + "\n" +
  84.         "是否分身:" + IsSeparation_info + "\n" +
  85.         "是否助力:" + IsInvite_info + "\n" +
  86.         "是否入会:" + IsJoinMember_info
  87.     )
  88.     CustomSleep(2, 4, "请稍候…");
  89.     if (IsInvite == 1) {
  90.         //将京口令分段填入,只要里面的特征码即可,分不清什么是特征码的也可以整段放进来,注意用双引号和逗号隔开
  91.         Code = new Array(
  92.             "29:/¥6BHuA1tMS0eHO¥しǎι【京東】AΡΡの,﹎壹啓ɡμā汾10億!!!!!!ぷ",
  93.             "29:/#1Dlka3sg42rdq@扌丁kai鶁崠,﹎壹啓ɡμā汾10億!!!!!!ぷ",
  94.             "28:/#1429n0Y8DLCHW@大家买买买都→猄栋,嚯!﹎壹啓ɡμā汾10億!!!!!!ぷ",
  95.             "26:/¥2ANSH2JNyYKne%咑開京岽app,﹎壹啓ɡμā汾10億!!!!!!ぷ"
  96.         );//邀请码第一个是助力作者,第二个纯属举例,使用时建议删除
  97.         RunTime = Code.length;
  98.         console.info("共识别到" + RunTime + "个助力码");
  99.         for (var i = 0; i < RunTime; i++) {
  100.             console.log("第" + (i + 1) + "个助力码");
  101.             setClip(Code[i]);
  102.             console.log("助力码写入剪切板");
  103.             if (LauchAPPName == "手动") {
  104.                 console.log("请手动打开APP,以便进行下一步");
  105.                 while (text("领京豆").findOnce() == null) {
  106.                     if (textMatches(/.*消耗.*爆竹/).exists() | text("立即查看").exists() |
  107.                         app.getAppName(currentPackage()) == "京东" | currentActivity() == "com.jingdong.app.mall.MainFrameActivity") {
  108.                         CustomSleep(1, 3, "请稍候…");
  109.                         break;
  110.                     }
  111.                     console.log("当前应用名:  " + app.getAppName(currentPackage()) + "\n"
  112.                         + "当前活动:  " + currentActivity() + "\n"
  113.                         + "未识别到京东相关界面,继续等待……");
  114.                     CustomSleep(3, 5, "请稍候…");
  115.                 }
  116.                 console.log("已检测到京东APP,等待下一步");
  117.             }
  118.             else {
  119.                 if (IsSeparation == 1) {
  120.                     console.info("打开分身有术Pro,准备调用分身");
  121.                     app.launchApp("分身有术Pro");
  122.                     for (var t = 0; !id("tv_app_name").className("android.widget.TextView").text(LauchAPPName).exists(); t++) {
  123.                         console.log("等待识别分身……");
  124.                         console.log("当前应用名:  " + app.getAppName(currentPackage()) + "\n"
  125.                             + "未识别到<" + LauchAPPName + ">,继续等待……");
  126.                         CustomSleep(3, 5, "请稍候…");
  127.                         if (id("im_close_clear").exists()) {
  128.                             console.log("发现加速弹窗");
  129.                             id("im_close_clear").findOne().click();
  130.                             console.log("关闭加速弹窗");
  131.                         }
  132.                         if (t > 10) {
  133.                             console.log("识别超时,退出当前任务");
  134.                             return;
  135.                         }
  136.                     }
  137.                     if (id("tv_app_name").className("android.widget.TextView").text(LauchAPPName).exists()) {
  138.                         console.log("找到分身<" + LauchAPPName + ">");
  139.                         text(LauchAPPName).findOne().parent().click();
  140.                         console.log("分身已启动,等待活动检测……");
  141.                     }
  142.                 }
  143.                 else {
  144.                     console.info("打开" + LauchAPPName + "");
  145.                     app.launchApp(LauchAPPName);
  146.                     console.log("等待任务检测……");
  147.                 }
  148.             }
  149.             if (text("立即查看").findOne(2000) == null) {
  150.                 console.log("等待APP识别助力码");
  151.                 var j = 0;
  152.                 while (j < 15 | text("立即查看").findOnce() == null) {
  153.                     if (text("立即查看").exists()) {
  154.                         CustomSleep(1, 3, "请稍候…");
  155.                         break;
  156.                     }
  157.                     console.log(j + 1);
  158.                     j++;
  159.                     CustomSleep(1, 1, "请稍候…");
  160.                     if (j == 10) {
  161.                         console.log("未检测到新助力码,尝试再次复制");
  162.                         OutAPP(1000);
  163.                         setClip(Code[i]);
  164.                         console.log("助力码重新写入剪切板");
  165.                         CustomSleep(1, 3, "请稍候…");
  166.                         if (LauchAPPName == "手动") {
  167.                             console.log("请手动打开APP,以便进行下一步");
  168.                             while (text("领京豆").findOnce() == null) {
  169.                                 if (textMatches(/.*消耗.*爆竹/).exists() |
  170.                                     app.getAppName(currentPackage()) == "京东" | currentActivity() == "com.jingdong.app.mall.MainFrameActivity") {
  171.                                     CustomSleep(1, 3, "请稍候…");
  172.                                     break;
  173.                                 }
  174.                                 console.log("当前应用名:  " + app.getAppName(currentPackage()) + "\n"
  175.                                     + "当前活动:  " + currentActivity() + "\n"
  176.                                     + "未识别到京东相关界面,继续等待……");
  177.                                 CustomSleep(3, 5, "请稍候…");
  178.                             }
  179.                             console.log("检测到京东APP,等待再次检测");
  180.                         }
  181.                         else {
  182.                             if (IsSeparation == 1) {
  183.                                 console.info("打开分身有术Pro,准备调用分身");
  184.                                 app.launchApp("分身有术Pro");
  185.                                 for (var t = 0; !id("tv_app_name").className("android.widget.TextView").text(LauchAPPName).exists(); t++) {
  186.                                     console.log("等待识别分身……");
  187.                                     console.log("当前应用名:  " + app.getAppName(currentPackage()) + "\n"
  188.                                         + "未识别到<" + LauchAPPName + ">,继续等待……");
  189.                                     CustomSleep(3, 5, "请稍候…");
  190.                                     if (id("im_close_clear").exists()) {
  191.                                         console.log("发现加速弹窗");
  192.                                         id("im_close_clear").findOne().click();
  193.                                         console.log("关闭加速弹窗");
  194.                                     }
  195.                                     if (t > 10) {
  196.                                         console.log("识别超时,退出当前任务");
  197.                                         return;
  198.                                     }
  199.                                 }
  200.                                 if (id("tv_app_name").className("android.widget.TextView").text(LauchAPPName).exists()) {
  201.                                     console.log("找到分身<" + LauchAPPName + ">");
  202.                                     text(LauchAPPName).findOne().parent().click();
  203.                                     console.log("分身已启动,等待活动检测……");
  204.                                 }
  205.                             }
  206.                             else {
  207.                                 console.info("打开" + LauchAPPName + "");
  208.                                 app.launchApp(LauchAPPName);
  209.                             }
  210.                             console.log("重启APP成功,等待再次检测");
  211.                             CustomSleep(1, 3, "请稍候…");
  212.                         }
  213.                     }
  214.                     if (j > 15) {
  215.                         console.error("超时未检测到新助力码,跳过助力任务");
  216.                         CustomSleep(1, 3, "请稍候…");
  217.                         if (i < RunTime - 1) {
  218.                             console.log("退出当前APP,准备第" + (i + 2) + "个助力码");
  219.                             OutAPP(2000);
  220.                         }
  221.                         break;
  222.                     }
  223.                 }
  224.                 if (j > 15) {
  225.                     //超时则跳出当前助力任务
  226.                     console.info("跳过当前助力");
  227.                     continue;
  228.                 }
  229.             }
  230.             setScreenMetrics(1440, 3120);//基于分辨率1440*3120的点击
  231.             if (text("立即查看").exists()) {
  232.                 console.log("立即查看");
  233.                 text("立即查看").findOnce().click();
  234.                 while (!textContains("的助力邀请").exists()) {
  235.                     CustomSleep(2, 4, "请稍候…");
  236.                     console.log("等待加载……");
  237.                 }
  238.                 CustomSleep(1, 3, "请稍候…");
  239.                 click(720, 1845);
  240.                 console.log("为TA助力");
  241.                 CustomSleep(2, 4, "请稍候…");
  242.                 console.log("助力完成");
  243.             }
  244.             setScreenMetrics(device.width, device.height);//恢复本机分辨率
  245.             //最后一次助力不返回首页,以便进行下一个任务
  246.             if (i < RunTime - 1) {
  247.                 home();
  248.                 console.log("准备第" + (i + 2) + "个助力码");
  249.             }
  250.             else {
  251.                 console.log("当前账户已助力完成");
  252.                 //back();
  253.                 //CustomSleep(0.5,0.8, "请稍候…");
  254.                 //back();
  255.             }
  256.         }
  257.     }
  258.     if (IsInvite == 0) {
  259.         console.info("跳过活动助力");
  260.         if (LauchAPPName == "手动") {
  261.             console.log("请手动打开APP,以便进行下一步");
  262.             while (text("领京豆").findOnce() == null) {
  263.                 if (textMatches(/.*消耗.*爆竹/).exists() |
  264.                     app.getAppName(currentPackage()) == "京东" | currentActivity() == "com.jingdong.app.mall.MainFrameActivity") {
  265.                     CustomSleep(1, 3, "请稍候…");
  266.                     break;
  267.                 }
  268.                 console.log("当前应用名:  " + app.getAppName(currentPackage()) + "\n"
  269.                     + "当前活动:  " + currentActivity() + "\n"
  270.                     + "未识别到京东相关界面,继续等待……");
  271.                 CustomSleep(3, 5, "请稍候…");
  272.             }
  273.             console.log("已检测到京东APP,等待下一步");
  274.         }
  275.         else {
  276.             if (IsSeparation == 1) {
  277.                 console.info("打开分身有术Pro,准备调用分身");
  278.                 app.launchApp("分身有术Pro");
  279.                 for (var i = 0; !text(LauchAPPName).exists(); i++) {
  280.                     console.log("等待识别分身……");
  281.                     CustomSleep(3, 5, "请稍候…");
  282.                     if (i > 10) {
  283.                         console.log("识别超时,退出当前任务");
  284.                         return;
  285.                     }
  286.                 }
  287.                 if (text(LauchAPPName).exists()) {
  288.                     text(LauchAPPName).findOne().parent().click();
  289.                     console.log("分身已启动,等待活动检测……");
  290.                 }
  291.             }
  292.             else {
  293.                 console.info("打开" + LauchAPPName + "");
  294.                 app.launchApp(LauchAPPName);
  295.                 console.log("等待活动检测……");
  296.             }
  297.         }
  298.         if (!text("累计任务奖励").exists()) {
  299.             if (!textMatches(/.*消耗.*爆竹/).exists()) {
  300.                 //进入活动
  301.                 console.log("寻找活动入口……");
  302.                 if (LauchAPPName == "手动") {
  303.                     for (; ;) {
  304.                         if (textMatches(/.*消耗.*爆竹/).exists()) {
  305.                             CustomSleep(1, 3, "请稍候…");
  306.                             break;
  307.                         }
  308.                         console.log("手动进入活动界面后,脚本将继续");
  309.                         CustomSleep(5, 8, "请稍候…");
  310.                     }
  311.                 }
  312.                 else {
  313.                     if (!text("累计任务奖励").exists()) {
  314.                         if (!textMatches(/.*消耗.*爆竹/).exists()) {
  315.                             for (var i = 0; !textMatches(/.*消耗.*爆竹/).exists(); i++) {
  316.                                 console.log("未识别到活动页面,尝试通过首页浮层进入");
  317.                                 if (text("首页").exists()) {
  318.                                     let into = descContains("浮层活动").findOne(20000);
  319.                                     CustomSleep(2, 4, "请稍候…");
  320.                                     if (into == null) {
  321.                                         console.log("无法找到京东活动入口,退出当前任务");
  322.                                         return;
  323.                                     }
  324.                                     click(into.bounds().centerX(), into.bounds().centerY());
  325.                                     click(into.bounds().centerX(), into.bounds().centerY());
  326.                                     CustomSleep(3, 5, "请稍候…");
  327.                                 }
  328.                                 if (i > 10) {
  329.                                     console.log("识别超时,退出当前任务");
  330.                                     return;
  331.                                 }
  332.                                 CustomSleep(3, 5, "请稍候…");
  333.                             }
  334.                             if (textMatches(/.*消耗.*爆竹/).exists()) {
  335.                                 console.log("已检测到活动页面");
  336.                                 PageStatus = 1//进入活动页面,未打开任务列表
  337.                             }
  338.                         }
  339.                         else {
  340.                             console.log("检测到活动页面");
  341.                             PageStatus = 1//进入活动页面,未打开任务列表
  342.                         }
  343.                     }
  344.                     else {
  345.                         console.log("检测到任务列表");
  346.                         PageStatus = 2//已打开任务列表
  347.                     }
  348.                 }
  349.                 console.info("进入活动页面");
  350.             }
  351.         }
  352.     }
  353.     //确保退出活动界面及当前账号
  354.     function OutAPP(SleepTime) {
  355.         if (SleepTime == null) {
  356.             SleepTime = 100
  357.         }
  358.         back();
  359.         CustomSleep(0.5, 0.8, "请稍候…");
  360.         back();
  361.         sleep(SleepTime);
  362.     }

  363.     CustomSleep(2, 4, "请稍候…");
  364.     if (!text("累计任务奖励").exists()) {
  365.         if (!textMatches(/.*消耗.*爆竹/).exists()) {
  366.             for (var i = 0; !textMatches(/.*消耗.*爆竹/).exists(); i++) {
  367.                 console.log("未识别到活动页面,尝试通过首页浮层进入");
  368.                 if (text("首页").exists()) {
  369.                     let into = descContains("浮层活动").findOne(20000);
  370.                     CustomSleep(2, 4, "请稍候…");
  371.                     if (into == null) {
  372.                         console.log("无法找到京东活动入口,退出当前任务");
  373.                         return;
  374.                     }
  375.                     click(into.bounds().centerX(), into.bounds().centerY());
  376.                     click(into.bounds().centerX(), into.bounds().centerY());
  377.                     CustomSleep(3, 5, "请稍候…");
  378.                 }
  379.                 if (i > 10) {
  380.                     console.log("识别超时,退出当前任务");
  381.                     return;
  382.                 }
  383.                 CustomSleep(3, 5, "请稍候…");
  384.             }
  385.             if (textMatches(/.*消耗.*爆竹/).exists()) {
  386.                 console.log("已检测到活动页面");
  387.                 PageStatus = 1//进入活动页面,未打开任务列表
  388.             }
  389.         }
  390.         else {
  391.             console.log("检测到活动页面");
  392.             PageStatus = 1//进入活动页面,未打开任务列表
  393.         }
  394.     }
  395.     else {
  396.         console.log("检测到任务列表");
  397.         PageStatus = 2//已打开任务列表
  398.     }
  399.     if (PageStatus != 2) {
  400.         CustomSleep(2, 4, "请稍候…");
  401.         console.log("成功进入活动界面");
  402.         console.log("等待加载弹窗……");
  403.         while (textContains("继续环游").exists() | textContains("立即抽奖").exists() | textContains("开启今日环游").exists() | textContains("点我签到").exists() | textContains("开心收下").exists()) {
  404.             CustomSleep(1, 3, "请稍候…");
  405.             if (textContains("继续环游").exists()) {
  406.                 console.log("继续环游");
  407.                 textContains("继续环游").findOne().click();
  408.                 CustomSleep(0.5, 0.8, "请稍候…");
  409.             } else if (textContains("立即抽奖").exists()) {
  410.                 console.log("关闭立即抽奖");
  411.                 textContains("立即抽奖").findOne().parent().child(1).click();
  412.                 CustomSleep(0.5, 0.8, "请稍候…");
  413.             } else if (textContains("开启今日环游").exists()) {
  414.                 console.log("开启今日环游");
  415.                 textContains("开启今日环游").findOne().click();
  416.                 CustomSleep(1, 3, "请稍候…");
  417.             } else if (textContains("点我签到").exists()) {
  418.                 console.log("点我签到");
  419.                 textContains("点我签到").findOne().parent().click();
  420.                 CustomSleep(1, 3, "请稍候…");
  421.                 textContains("开心收下").waitFor();
  422.                 textContains("开心收下").findOne().parent().click();
  423.                 CustomSleep(1, 3, "请稍候…");
  424.             } else if (text("开心收下开心收下").exists()) {
  425.                 console.log("开心收下");
  426.                 text("开心收下开心收下").findOne().click();
  427.                 CustomSleep(1, 3, "请稍候…");
  428.             } else if (textContains("开心收下").exists()) {
  429.                 console.log("开心收下");
  430.                 textContains("开心收下").findOne().parent().click();
  431.                 CustomSleep(1, 3, "请稍候…");
  432.             } else {
  433.                 console.log("暂无可处理弹窗");
  434.                 break;
  435.             }
  436.             CustomSleep(1, 3, "请稍候…");
  437.         }
  438.         console.log("如还有弹窗,请手动处理");
  439.         CustomSleep(3, 5, "请稍候…");

  440.         if (text("立即前往").exists()) {
  441.             console.log("前往签到");
  442.             textContains("立即前往").findOne().parent().click();
  443.             CustomSleep(0.5, 0.8, "请稍候…");
  444.             console.log("点我签到");
  445.             textContains("点我签到").findOne().parent().click();
  446.             CustomSleep(1, 3, "请稍候…");
  447.             textContains("开心收下").waitFor();
  448.             textContains("开心收下").findOne().parent().click();
  449.             CustomSleep(1, 3, "请稍候…");
  450.         }
  451.         if (text("爆竹满了~~").exists()) {
  452.             console.log("爆竹已存满");
  453.             text("爆竹满了~~").findOne().parent().parent().child(2).click();
  454.             console.log("爆竹领取成功");
  455.             CustomSleep(2, 4, "请稍候…");
  456.         }
  457.         else if (textContains("后满").exists()) {
  458.             textContains("后满").findOne().parent().parent().child(2).click();
  459.             console.log("爆竹领取成功");
  460.             CustomSleep(2, 4, "请稍候…");
  461.         }

  462.         if (text("放入我的>我的优惠券").exists()) {
  463.             text("放入我的>我的优惠券").findOne().parent().parent().child(0).click();
  464.             CustomSleep(1, 3, "请稍候…");
  465.         }
  466.         console.info("准备打开任务列表");
  467.         let taskListButton = textMatches(/.*消耗.*爆竹/).findOne(10000)
  468.         if (!taskListButton) {
  469.             console.log("未能识别关键节点,退出当前任务");
  470.             return;
  471.         }
  472.         setScreenMetrics(1440, 3120);//基于分辨率1440*3120的点击
  473.         click(1275, 2100);
  474.         click(1275, 2100);
  475.         CustomSleep(2, 4, "请稍候…");
  476.         setScreenMetrics(device.width, device.height);//恢复本机分辨率

  477.         for (var i = 0; !text("累计任务奖励").exists(); i++) {
  478.             console.log("未识别到任务列表,请手动打开")
  479.             CustomSleep(3, 5, "请稍候…");
  480.             if (i >= 10) {
  481.                 console.log("未按时打开任务列表,退出当前任务");
  482.                 return;
  483.             }
  484.         }
  485.     }
  486.     console.log("寻找未完成任务……");
  487.     while (true) {
  488.         if (textContains("去组队可得").exists()) {
  489.             let task1 = textMatches(/.*去组队可得.*/).find()
  490.             if (task1.empty()) {
  491.                 CustomSleep(0.5, 0.8, "请稍候…");
  492.             }
  493.             else {
  494.                 let task1Button, task1Text
  495.                 let task1img = captureScreen();
  496.                 for (let i = 0; i < task1.length; i++) {
  497.                     let task1item = task1[i]
  498.                     task1Text = task1item.text();
  499.                     task1Button = task1item.parent().child(3);
  500.                     let task1b = task1item.bounds()
  501.                     let task1color = images.pixel(task1img, task1b.left + task1b.width() / 8, task1b.top + task1b.height() / 2)
  502.                     console.info("识别任务<" + task1item.parent().child(1).text() + ">");
  503.                     console.error("识别任务状态(" + colors.red(task1color) + "," + colors.green(task1color) + "," + colors.blue(task1color) + ")");
  504.                     if (colors.isSimilar(task1color, "#fff2da", 60, "diff") | colors.isSimilar(task1color, "#caa282", 60, "diff") | task1color == -3366) {
  505.                         console.log("进行", task1Text);
  506.                         task1Button.click();
  507.                         CustomSleep(3, 5, "请稍候…");
  508.                         for (var ii = 0; !text("累计任务奖励").exists(); ii++) {
  509.                             CustomSleep(1, 3, "请稍候…");
  510.                             console.log("返回");
  511.                             back();
  512.                             CustomSleep(2, 4, "请稍候…");
  513.                             if (textMatches(/.*消耗.*爆竹/).exists()) {
  514.                                 console.log("已返回活动界面");
  515.                                 break;
  516.                             }
  517.                         }
  518.                         console.log("领取成功");
  519.                         if (!text("累计任务奖励").exists() && textMatches(/.*消耗.*爆竹/).exists()) {
  520.                             console.log("未识别到任务列表,尝试自动打开");
  521.                             setScreenMetrics(1440, 3120);//基于分辨率1440*3120的点击
  522.                             click(1275, 2100);
  523.                             click(1275, 2100);
  524.                             CustomSleep(2, 4, "请稍候…");
  525.                             setScreenMetrics(device.width, device.height);//恢复本机分辨率
  526.                         }
  527.                         for (var ii = 0; !text("累计任务奖励").exists(); ii++) {
  528.                             console.log("未识别到任务列表,请手动打开");
  529.                             CustomSleep(3, 5, "请稍候…");
  530.                             if (ii >= 10) {
  531.                                 console.log("未按时打开任务列表,退出当前任务");
  532.                                 return;
  533.                             }
  534.                         }
  535.                     }
  536.                 }
  537.             }
  538.         }
  539.         let taskButtons = textMatches(/.*浏览.*s.*|.*浏览.*秒.*|.*累计浏览.*|.*浏览即可得.*|.*浏览并关注可得.*|.*浏览可得.*|.*成功入会.*|.*小程序.*|.*每日6-9点打卡可得.*|.*点击首页浮层可得.*|.*品牌墙店铺.*|.*玩AR游戏可得.*爆竹.*/).find()
  540.         if (taskButtons.empty()) {
  541.             console.log("未找到合适的任务,退出");
  542.             CustomSleep(3, 5, "请稍候…");
  543.             break;
  544.         }
  545.         let taskButton, taskText
  546.         let img = captureScreen()
  547.         for (let i = 0; i < taskButtons.length; i++) {
  548.             let item = taskButtons[i]
  549.             taskText = item.text();
  550.             item = item.parent().child(3);
  551.             let b = item.bounds()
  552.             let color = images.pixel(img, b.left + b.width() / 8, b.top + b.height() / 2)
  553.             console.info("识别任务<" + item.parent().child(1).text() + ">");
  554.             console.error("识别任务状态(" + colors.red(color) + "," + colors.green(color) + "," + colors.blue(color) + ")");
  555.             if (colors.isSimilar(color, "#b5b5b5", 40, "diff")) {
  556.                 console.log("任务已完成,即将识别下一任务");
  557.             }
  558.             else {
  559.                 //跳过任务
  560.                 //if (taskText.match(/成功入会/)) continue
  561.                 //if (taskText.match(/品牌墙店铺/)) continue
  562.                 //if (taskText.match(/小程序/)) continue
  563.                 //if (taskText.match(/加购/)) continue
  564.                 if (taskText.match(/成功入会/) && IsJoinMember == 0) {
  565.                     console.log("识别到入会任务,当前设置为<不执行入会>,即将进入下一任务");
  566.                     CustomSleep(1, 3, "请稍候…");
  567.                     continue;
  568.                 }
  569.                 taskButton = item;
  570.                 break;
  571.             }
  572.         }
  573.         img.recycle();//调用recycle回收
  574.         if (!taskButton) {
  575.             console.log("未找到可自动完成的任务,退出当前任务");
  576.             console.log("互动任务需要手动完成");
  577.             break;
  578.         }

  579.         function timeTask() {
  580.             taskButton.click();
  581.             CustomSleep(5, 8, "请稍候…");
  582.             console.log("等待浏览任务完成……");
  583.             let c = 0
  584.             while (c < 15) { // 15秒,防止死循环
  585.                 let finish_reg = /获得.*?爆竹|浏览完成|已达上限/
  586.                 if ((textMatches(finish_reg).exists() || descMatches(finish_reg).exists())) { // 等待已完成出现,有可能失败
  587.                     CustomSleep(1, 3, "请稍候…");
  588.                     break;
  589.                 }
  590.                 CustomSleep(1, 1, "请稍候…");
  591.                 c++;
  592.                 if (c == 3 | c == 6 | c == 12) {
  593.                     console.log("已等待" + c + "秒");
  594.                     //财富岛任务无法直接返回,只能跳转返回
  595.                     if (app.getAppName(currentPackage()) == "京喜") {
  596.                         if (LauchAPPName == "手动") {
  597.                             console.log("请手动返回任务界面,以便进行下一步");
  598.                             while (text("累计任务奖励").findOnce() == null) {
  599.                                 if (textMatches(/.*消耗.*爆竹/).exists() |
  600.                                     app.getAppName(currentPackage()) == "京东" | currentActivity() == "com.jingdong.app.mall.MainFrameActivity") {
  601.                                     CustomSleep(1, 3, "请稍候…");
  602.                                     break;
  603.                                 }
  604.                                 console.log("当前应用名:  " + app.getAppName(currentPackage()) + "\n"
  605.                                     + "当前活动:  " + currentActivity() + "\n"
  606.                                     + "未识别到京东相关界面,继续等待……");
  607.                                 CustomSleep(3, 5, "请稍候…");
  608.                             }
  609.                             console.log("已检测到京东APP,等待下一步");
  610.                         }
  611.                         else {
  612.                             if (IsSeparation == 1) {
  613.                                 console.info("打开分身有术Pro,准备调用分身");
  614.                                 app.launchApp("分身有术Pro");
  615.                                 for (var i = 0; !text(LauchAPPName).exists(); i++) {
  616.                                     console.log("等待识别分身……");
  617.                                     CustomSleep(3, 5, "请稍候…");
  618.                                     if (i > 10) {
  619.                                         console.log("识别超时,退出当前任务");
  620.                                         return;
  621.                                     }
  622.                                 }
  623.                                 if (text(LauchAPPName).exists()) {
  624.                                     text(LauchAPPName).findOne().parent().click();
  625.                                     console.log("分身已启动,等待活动检测……");
  626.                                 }
  627.                             }
  628.                             else {
  629.                                 console.info("打开" + LauchAPPName + "");
  630.                                 app.launchApp(LauchAPPName);
  631.                                 console.log("等待活动检测……");
  632.                             }
  633.                         }
  634.                     }
  635.                 }
  636.             }
  637.             if (c >= 15) {
  638.                 console.log("超时,即将返回");
  639.             }
  640.             else {
  641.                 console.log("浏览时长任务完成");
  642.             }
  643.         }

  644.         function itemTask(cart) {
  645.             taskButton.click();
  646.             CustomSleep(1, 3, "请稍候…");
  647.             console.log("等待进入商品列表……");
  648.             textEndsWith("4个商品领爆竹").waitFor();//当前页浏览加购4个商品领爆竹|当前页点击浏览4个商品领爆竹
  649.             if (!textContains('.jpg!q70').exists()) {
  650.                 console.log("模式2");
  651.                 for (var i = 0; i < 4; i++) {
  652.                     let Model2items = textEndsWith("4个商品领爆竹").findOne();
  653.                     if (cart) {
  654.                         console.log("第" + (i + 1) + "次加购");
  655.                         console.log('待加购');
  656.                         CustomSleep(0.5, 0.8, "请稍候…");
  657.                         if (!Model2items.parent().parent()) {
  658.                             console.error("界面异常,跳过此商品");
  659.                             continue;
  660.                         }
  661.                         Model2items.parent().parent().child(2).child(i).child(4).click();
  662.                     } else {
  663.                         console.log("第" + (i + 1) + "次浏览");
  664.                         Model2items.parent().parent().child(2).child(i).child(4).click();
  665.                     }
  666.                     CustomSleep(1, 3, "请稍候…");
  667.                     for (var ii = 0; !textEndsWith("4个商品领爆竹").exists(); ii++) {
  668.                         if (ii == 0) {
  669.                             console.log("返回");
  670.                         } else {
  671.                             console.log("再次返回");
  672.                         }
  673.                         back();
  674.                         CustomSleep(2, 4, "请稍候…");
  675.                         if (ii > 4) {
  676.                             console.error("任务异常,退出当前账号");
  677.                             home();
  678.                             return;
  679.                         }
  680.                     }
  681.                     if (i >= 3) {
  682.                         break;
  683.                     }
  684.                 }
  685.             }
  686.             else {
  687.                 console.log("模式1");
  688.                 for (var i = 0; i < 4; i++) {
  689.                     let Model1items = textContains('.jpg!q70').find();
  690.                     if (cart) {
  691.                         console.log("第" + (i + 1) + "次加购");
  692.                         let Model1tmp = Model1items[i].parent().parent();
  693.                         console.log('待加购');
  694.                         CustomSleep(0.5, 0.8, "请稍候…");
  695.                         if (!Model1tmp) {
  696.                             console.error("界面异常,跳过此商品");
  697.                             continue;
  698.                         }
  699.                         Model1tmp.child(Model1tmp.childCount() - 1).click();
  700.                     } else {
  701.                         console.log("第" + (i + 1) + "次浏览");
  702.                         Model1items[i].parent().parent().child(4).click();
  703.                     }
  704.                     CustomSleep(1, 3, "请稍候…");
  705.                     for (var ii = 0; !textEndsWith("4个商品领爆竹").exists(); ii++) {
  706.                         if (ii == 0) {
  707.                             console.log("返回");
  708.                         } else {
  709.                             console.log("再次返回");
  710.                         }
  711.                         back();
  712.                         CustomSleep(2, 4, "请稍候…");
  713.                         if (ii > 4) {
  714.                             console.error("加购任务异常,退出当前账号");
  715.                             home();
  716.                             return;
  717.                         }
  718.                     }
  719.                     if (i >= 3) {
  720.                         break;
  721.                     }
  722.                 }
  723.             }
  724.             console.log("浏览商品任务完成");
  725.         }

  726.         if (taskText.match(/浏览.*s|浏览.*秒/)) {
  727.             console.log("进行", taskText);
  728.             timeTask();
  729.         } else if (taskText.match(/点击首页浮层可得/)) {
  730.             console.log("进行", taskText);
  731.             taskButton.click();
  732.             CustomSleep(2, 4, "请稍候…");
  733.             /* 如果任务按钮为去完成,则此处应该有弹窗 */
  734.             if (!text("首页").exists()) {
  735.                 console.log("未识别到首页,等待5秒待跳转");
  736.                 if (text("首页").findOne(5000) == null) {
  737.                     console.log("未识别到首页,退出活动重进");
  738.                     back();
  739.                     CustomSleep(0.5, 0.8, "请稍候…");
  740.                     back();
  741.                 }
  742.             }
  743.             if (!text("累计任务奖励").exists()) {
  744.                 if (!textMatches(/.*消耗.*爆竹/).exists()) {
  745.                     for (var i = 0; !textMatches(/.*消耗.*爆竹/).exists(); i++) {
  746.                         console.log("未识别到活动页面,尝试通过首页浮层进入");
  747.                         if (text("首页").exists()) {
  748.                             let into = descContains("浮层活动").findOne(20000);
  749.                             CustomSleep(2, 4, "请稍候…");
  750.                             if (into == null) {
  751.                                 console.log("无法找到京东活动入口,退出当前任务");
  752.                                 return;
  753.                             }
  754.                             click(into.bounds().centerX(), into.bounds().centerY());
  755.                             click(into.bounds().centerX(), into.bounds().centerY());
  756.                             CustomSleep(3, 5, "请稍候…");
  757.                         }
  758.                         if (i > 10) {
  759.                             console.log("识别超时,退出当前任务");
  760.                             return;
  761.                         }
  762.                         if (text("累计任务奖励").exists()) {
  763.                             console.log("已检测到任务页面");
  764.                             break;
  765.                         }
  766.                         CustomSleep(3, 5, "请稍候…");
  767.                     }
  768.                     if (textMatches(/.*消耗.*爆竹/).exists()) {
  769.                         console.log("已检测到活动页面");
  770.                         PageStatus = 1//进入活动页面,未打开任务列表
  771.                     }
  772.                 }
  773.                 else {
  774.                     console.log("检测到活动页面");
  775.                     PageStatus = 1//进入活动页面,未打开任务列表
  776.                 }
  777.                 if (!text("累计任务奖励").exists()) {
  778.                     console.info("准备打开任务列表");
  779.                     let taskListButton = textMatches(/.*消耗.*爆竹/).findOne(10000)
  780.                     if (!taskListButton) {
  781.                         console.log("未能识别关键节点,退出当前任务");
  782.                         return;
  783.                     }
  784.                     setScreenMetrics(1440, 3120);//基于分辨率1440*3120的点击
  785.                     click(1275, 2100);
  786.                     click(1275, 2100);
  787.                     CustomSleep(2, 4, "请稍候…");
  788.                     setScreenMetrics(device.width, device.height);//恢复本机分辨率
  789.                 }
  790.                 for (var i = 0; !text("累计任务奖励").exists(); i++) {
  791.                     console.log("未识别到任务列表,请手动打开")
  792.                     CustomSleep(3, 5, "请稍候…");
  793.                     if (i >= 10) {
  794.                         console.log("未按时打开任务列表,退出当前任务");
  795.                         return;
  796.                     }
  797.                 }
  798.             }
  799.             else {
  800.                 console.log("领取奖励");
  801.             }
  802.             console.log("任务完成");
  803.         } else if (taskText.match(/品牌墙店铺/)) {
  804.             console.log("进行", taskText);
  805.             taskButton.click();
  806.             CustomSleep(1, 3, "请稍候…");
  807.             if (textContains("后满").exists()) {
  808.                 var task2 = textContains("后满").findOne().parent().parent()
  809.                 for (var i = 0; i < 3; i++) {
  810.                     console.log("第" + (i + 1) + "个店铺")
  811.                     task2.child(task2.childCount() - 3).child(0).child(1).child(i).click();
  812.                     CustomSleep(3.5, 5, "请稍候…");
  813.                     for (var ii = 0; !textContains("后满").exists(); ii++) {
  814.                         console.log("返回")
  815.                         back();
  816.                         CustomSleep(1.5, 3, "请稍候…");
  817.                         if (ii > 4) {
  818.                             console.log("返回活动界面,退出当前任务");
  819.                             return;
  820.                         }
  821.                     }
  822.                 }
  823.                 task2.child(task2.childCount() - 1).click();//返回
  824.                 CustomSleep(1, 3, "请稍候…");
  825.                 console.info("准备打开任务列表");
  826.                 let taskListButton = textMatches(/.*消耗.*爆竹/).findOne(10000)
  827.                 if (!taskListButton) {
  828.                     console.log("未能识别关键节点,退出当前任务");
  829.                     return;
  830.                 }
  831.                 setScreenMetrics(1440, 3120);//基于分辨率1440*3120的点击
  832.                 click(1275, 2100);
  833.                 click(1275, 2100);
  834.                 CustomSleep(2, 4, "请稍候…");
  835.                 setScreenMetrics(device.width, device.height);//恢复本机分辨率

  836.                 for (var i = 0; !text("累计任务奖励").exists(); i++) {
  837.                     console.log("未识别到任务列表,请手动打开")
  838.                     CustomSleep(3, 5, "请稍候…");
  839.                     if (i >= 10) {
  840.                         console.log("未按时打开任务列表,退出当前任务");
  841.                         return;
  842.                     }
  843.                 }
  844.             }
  845.             else {
  846.                 console.log("未能识别关键节点,重进活动页面");
  847.                 if (!text("首页").exists()) {
  848.                     console.log("未识别到首页,等待5秒待跳转");
  849.                     if (text("首页").findOne(5000) == null) {
  850.                         console.log("未识别到首页,退出活动重进");
  851.                         back();
  852.                         CustomSleep(0.5, 0.8, "请稍候…");
  853.                         back();
  854.                     }
  855.                 }
  856.                 if (!text("累计任务奖励").exists()) {
  857.                     if (!textMatches(/.*消耗.*爆竹/).exists()) {
  858.                         for (var i = 0; !textMatches(/.*消耗.*爆竹/).exists(); i++) {
  859.                             console.log("未识别到活动页面,尝试通过首页浮层进入");
  860.                             if (text("首页").exists()) {
  861.                                 let into = descContains("浮层活动").findOne(20000);
  862.                                 CustomSleep(2, 4, "请稍候…");
  863.                                 if (into == null) {
  864.                                     console.log("无法找到京东活动入口,退出当前任务");
  865.                                     return;
  866.                                 }
  867.                                 click(into.bounds().centerX(), into.bounds().centerY());
  868.                                 click(into.bounds().centerX(), into.bounds().centerY());
  869.                                 CustomSleep(3, 5, "请稍候…");
  870.                             }
  871.                             if (i > 10) {
  872.                                 console.log("识别超时,退出当前任务");
  873.                                 return;
  874.                             }
  875.                             CustomSleep(3, 5, "请稍候…");
  876.                         }
  877.                         if (textMatches(/.*消耗.*爆竹/).exists()) {
  878.                             console.log("已检测到活动页面");
  879.                             PageStatus = 1//进入活动页面,未打开任务列表
  880.                         }
  881.                     }
  882.                     else {
  883.                         console.log("检测到活动页面");
  884.                         PageStatus = 1//进入活动页面,未打开任务列表
  885.                     }
  886.                     console.info("准备打开任务列表");
  887.                     let taskListButton = textMatches(/.*消耗.*爆竹/).findOne(10000)
  888.                     if (!taskListButton) {
  889.                         console.log("未能识别关键节点,退出当前任务");
  890.                         return;
  891.                     }
  892.                     setScreenMetrics(1440, 3120);//基于分辨率1440*3120的点击
  893.                     click(1275, 2100);
  894.                     click(1275, 2100);
  895.                     CustomSleep(2, 4, "请稍候…");
  896.                     setScreenMetrics(device.width, device.height);//恢复本机分辨率

  897.                     for (var i = 0; !text("累计任务奖励").exists(); i++) {
  898.                         console.log("未识别到任务列表,请手动打开")
  899.                         CustomSleep(3, 5, "请稍候…");
  900.                         if (i >= 10) {
  901.                             console.log("未按时打开任务列表,退出当前任务");
  902.                             return;
  903.                         }
  904.                     }
  905.                 }
  906.             }
  907.         } else if (taskText.match(/累计浏览/)) {
  908.             console.log("进行", taskText);
  909.             if (taskText.match(/加购/)) {
  910.                 itemTask(true);
  911.             }
  912.             else {
  913.                 itemTask(false);
  914.             }
  915.         } else if (taskText.match(/小程序/)) {
  916.             console.log("进行", taskText);
  917.             taskButton.click();
  918.             CustomSleep(3, 5, "请稍候…");
  919.             while (id("ffp").exists() | text("取消").exists()) {
  920.                 if (id("ffp").exists()) {
  921.                     id("ffp").findOne().click();
  922.                     console.log("跳转微信异常,准备返回");
  923.                     CustomSleep(1.5, 3, "请稍候…");
  924.                 } else if (text("取消").exists()) {
  925.                     text("取消").findOne().click();
  926.                     console.log("取消");
  927.                     CustomSleep(1.5, 3, "请稍候…");
  928.                 }
  929.                 CustomSleep(2, 4, "请稍候…");
  930.             }
  931.             console.log("任务完成");
  932.         } else if (taskText.match(/成功入会/)) {
  933.             console.log("进行", taskText);
  934.             taskButton.click();
  935.             CustomSleep(3, 5, "请稍候…");
  936.             if (textContains("确认授权并加入店铺会员").exists()) {
  937.                 if (IsJoinMember == 2) {
  938.                     console.log("当前店铺未入会,跳过");
  939.                 }
  940.                 else if (IsJoinMember == 1) {
  941.                     console.log("涉及个人隐私,请手动加入店铺会员或者忽略加入会员任务");
  942.                     return;
  943.                 }
  944.                 else if (IsJoinMember == 3) {
  945.                     console.log("当前店铺未入会,等待手动");
  946.                     sleep(8000);
  947.                 }
  948.             }
  949.             else {
  950.                 console.info("已是当前店铺会员");
  951.                 console.log("任务完成");
  952.             }
  953.         } else if (taskText.match(/玩AR游戏可得|每日6-9点打卡/)) {
  954.             console.log("进行", taskText);
  955.             taskButton.click();
  956.             CustomSleep(2, 4, "请稍候…");
  957.             console.log("任务完成");
  958.         } else if (taskText.match(/浏览并关注可得|浏览可得|浏览即可得/)) {
  959.             console.log("进行", taskText);
  960.             let taskItemText = taskButton.parent().child(1).text()
  961.             if (taskItemText.match(/种草城/)) {
  962.                 taskButton.click();
  963.                 CustomSleep(5, 8, "请稍候…");
  964.                 if (text("互动种草城").exists()) {
  965.                     if (textContains("/3)").exists()) {
  966.                         for (var i = 0; i < 3; i++) {
  967.                             console.log("第" + (i + 1) + "次浏览店铺");
  968.                             textContains("/3)").findOnce().parent().parent().child(2).click();
  969.                             CustomSleep(1, 3, "请稍候…");
  970.                             console.log("返回");
  971.                             back();
  972.                             CustomSleep(2, 4, "请稍候…");
  973.                             while (!text("互动种草城").exists()) {
  974.                                 console.log("再次返回");
  975.                                 back();
  976.                                 CustomSleep(2, 4, "请稍候…");
  977.                             }
  978.                         }
  979.                     }
  980.                 }
  981.             }
  982.             else {
  983.                 taskButton.click();
  984.                 CustomSleep(2, 4, "请稍候…");
  985.             }
  986.             console.log("任务完成");
  987.         }

  988.         for (var i = 0; text("累计任务奖励").findOnce() == null; i++) {
  989.             console.log("返回");
  990.             back();
  991.             CustomSleep(1, 3, "请稍候…");
  992.             if (i == 5) {
  993.                 console.log("无法返回任务界面,退出当前任务");
  994.                 return;
  995.             }
  996.             while (id("ffp").exists() | text("取消").exists()) {
  997.                 if (id("ffp").exists()) {
  998.                     id("ffp").findOne().click();
  999.                     console.log("跳转微信异常,准备返回");
  1000.                     CustomSleep(1.5, 3, "请稍候…");
  1001.                 } else if (text("取消").exists()) {
  1002.                     text("取消").findOne().click();
  1003.                     console.log("取消");
  1004.                     CustomSleep(1.5, 3, "请稍候…");
  1005.                 }
  1006.                 CustomSleep(2, 4, "请稍候…");
  1007.             }
  1008.             if ((text("领京豆").exists() && text("首页").exists()) | (app.getAppName(currentPackage()) == "京东" && text("首页").exists())) {
  1009.                 console.log("发现首页,尝试退出并返回原任务列表");
  1010.                 OutAPP(100);
  1011.                 CustomSleep(2, 4, "请稍候…");
  1012.                 if (text("累计任务奖励").exists()) {
  1013.                     console.log("已返回任务列表");
  1014.                     break;
  1015.                 }
  1016.             }
  1017.         }
  1018.         console.info("准备下一个任务");
  1019.         if (textContains("重新连接").exists()) {
  1020.             console.info("尝试重新连接");
  1021.             textContains("重新连接").findOne().click();
  1022.             CustomSleep(0.5, 0.8, "请稍候…");
  1023.         }
  1024.         CustomSleep(1, 3, "请稍候…");
  1025.     }
  1026.     if (text("当前进度10/10").exists()) {
  1027.         console.log("领取累计任务奖励");
  1028.         for (var i = 1; text("当前进度10/10").exists() && i < 4; i++) {
  1029.             console.log("第" + i + "个宝箱");
  1030.             text("当前进度10/10").findOne().parent().child(2).child(i).click();
  1031.             CustomSleep(0.5, 0.8, "请稍候…");
  1032.             if (text("放入我的>我的优惠券").exists()) {
  1033.                 console.log("发现优惠券")
  1034.                 text("放入我的>我的优惠券").findOne().parent().parent().child(0).click();
  1035.                 CustomSleep(0.5, 0.8, "请稍候…");
  1036.             }
  1037.             if (textContains("开心收下").exists()) {
  1038.                 console.log("开心收下")
  1039.                 textContains("开心收下").findOne().parent().click();
  1040.                 CustomSleep(0.5, 0.8, "请稍候…");
  1041.             }
  1042.             CustomSleep(0.5, 0.8, "请稍候…");
  1043.         }
  1044.         console.log("累计任务奖励领取完毕");
  1045.         CustomSleep(1, 3, "请稍候…");
  1046.     }
  1047.     CustomSleep(0.5, 0.8, "请稍候…");
  1048.     back();
  1049.     CustomSleep(0.5, 0.8, "请稍候…");
  1050.     back();
  1051. }

  1052. function CleanCache(LauchAPPName, Isclean) {
  1053.     if (LauchAPPName == "分身有术Pro" && Isclean == 1) {
  1054.         console.info("打开分身有术Pro,准备清理缓存");
  1055.         app.launchApp("分身有术Pro");
  1056.         console.log("等待清理");
  1057.         for (var i = 0; !id("iv_home_clean").exists() && i < 15; i++) {
  1058.             CustomSleep(1, 3, "请稍候…");
  1059.             if (i == 5 | i == 10) {
  1060.                 console.log("已等待" + i + "秒");
  1061.             }
  1062.             if (id("iv_home_clean").exists()) {
  1063.                 id("iv_home_clean").findOne().click();
  1064.                 console.log("加速完毕");
  1065.                 CustomSleep(3, 5, "请稍候…");
  1066.                 break;
  1067.             }
  1068.         }
  1069.         if (i >= 15) {
  1070.             console.error("识别超时,未能完成加速");
  1071.         }
  1072.         if (id("im_close_clear").exists()) {
  1073.             CustomSleep(2, 4, "请稍候…");
  1074.             id("im_close_clear").findOne().click();
  1075.             console.log("关闭加速弹窗");
  1076.         }
  1077.     }
  1078.     else {
  1079.         console.error("参数不符,退出清理任务");
  1080.     }
  1081. }


  1082. //自定义延迟
  1083. //minNum~maxNum:延迟范围
  1084. //msg:提示消息
  1085. //scroll:是否自动滚屏
  1086. function CustomSleep(minNum, maxNum, msg, scroll) {
  1087.     console.info(msg);
  1088.     if (maxNum > 0 && maxNum >= minNum) {
  1089.         var sleeptimes = parseInt(random(minNum * 1000, maxNum * 1000), 10);
  1090.         var tick = 1000;
  1091.         if (sleeptimes > tick) {
  1092.             for (var i = 0; i < sleeptimes; i += tick) {
  1093.                 console.verbose("……【" + (100 - parseInt((sleeptimes - i) * 100 / (sleeptimes), 10)) + "%】……");
  1094.                 var sleeptick = Math.min(tick, sleeptimes - i);
  1095.                 sleep(sleeptick);
  1096.                 if (scroll && i % 3 == 1) scrollDown();
  1097.             }
  1098.         }
  1099.         else {
  1100.             sleep(sleeptimes);
  1101.             if (scroll) scrollDown();
  1102.         }
  1103.         console.verbose("……【100%】……");
  1104.     }
  1105. }
  1106. //自定义返回
  1107. function CustomBack() {
  1108.     back();
  1109.     CustomSleep(1, 3, "返回中");
  1110. }
  1111. //自定义结束任务
  1112. function CustomExit() {
  1113.     CustomSleep(1, 3, "脚本即将终止运行");
  1114.     exit();
  1115. }
复制代码





1875762831 | 2022-1-15 21:20:47 | 显示全部楼层
热心人,佛祖保佑你事事顺利 ,财源滚滚
zzz1825568549 | 2022-1-15 22:09:50 | 显示全部楼层
你将受到所有人的崇拜!
2373591267 | 2022-1-15 22:54:43 | 显示全部楼层
遇见神贴岂能不顶
1350362380 | 2022-1-16 02:49:36 | 显示全部楼层
简单却充满爱!感谢您的作品!
快速回复换一批
遇见神贴岂能不顶
路过留名
好贴帮顶
强无敌
马克一下
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则