请选择 进入手机版 | 继续访问电脑版
查看: 252|回复: 2

[资源] 淘宝自动盖楼刷淘宝喵币!拿红包都靠这牛逼的软件...

[复制链接]

[资源] 淘宝自动盖楼刷淘宝喵币!拿红包都靠这牛逼的软件...[复制链接]

zygxsq 发表于 2019-11-7 12:46:15 [显示全部楼层] |只看大图 回帖奖励 |倒序浏览 |阅读模式 回复:  2 浏览:  252
本帖最后由 zygxsq 于 2019-11-7 13:51 编辑

你还在傻傻爱的手动点击领取淘宝的喵币了,有人已经做了一个软件自动领取喵币了,只要手机放到一边,自己喝个茶,眯一会演讲,就自动领取了
GitHub地址:https://github.com/sleepybear1113/taobaoVisitingVenues


如果你不懂的话,就直接下载使用,记得开启悬浮窗,然后再切换到淘宝:


385035dc39fa4acbd1.png


安卓软件下载地址:https://gitee.com/sleepybear1113/taobaoVisitingVenues

网盘下载:链接:https://pan.baidu.com/s/13tEYpfHAtvnEP9373K4MXQ提取码请回复查看
游客,如果您要查看本帖隐藏内容请回复



代码如下
  1. let deviceWidth = device.width;
  2. let deviceHeight = device.height;

  3. function openBeginningBtnItem(delay) {
  4.     let items = textStartsWith("gif;base64").depth(19).find();
  5.     console.log("寻找--领喵币");
  6.     if (items.length > 0) {
  7.         let item = items[items.length - 1];
  8.         console.log("点击--领喵币");
  9.         clickItemInCenter(item);
  10.         sleep(delay);
  11.         return 1;
  12.     }
  13.     return -1;
  14. }

  15. function isOpenBeginning() {
  16.     let signIn = textContains("签到").findOnce();
  17.     if (signIn != null) {
  18.         console.log("成功--打开领取中心");
  19.         return 1;
  20.     }
  21.     return -1;
  22. }

  23. function ensureOpenBeginning(waitDelay) {
  24.     if (isOpenBeginning() === -1) {
  25.         openBeginningBtnItem(waitDelay);
  26.     }
  27.     if (isOpenBeginning() === 1) return 1;

  28.     console.error("失败--打开领取中心");
  29.     toast("失败--打开领取中心");
  30.     return -1;
  31. }

  32. function clickItemInCenter(item, time) {
  33.     if (time == null) time = 50;
  34.     if (item == null) return;
  35.     let x = item.bounds().centerX();
  36.     let y = item.bounds().centerY();
  37.     press(x, y, time);
  38. }

  39. function goShopping() {
  40.     let shopping = text("去浏览").findOne(1000);
  41.     if (shopping == null) {
  42.         toastLog("结束--未知问题");
  43.         return -1;

  44.     }
  45.     console.log("开始浏览...");
  46.     clickItemInCenter(shopping);
  47.     return 1;
  48. }

  49. function swipeUp() {
  50.     let x = parseInt(deviceWidth / 2);
  51.     let duration = 500;
  52.     let y = [parseInt(deviceHeight * 0.75), parseInt(deviceHeight * 0.25)];
  53.     swipe(x, y[0], x, y[1], duration);
  54.     swipe(x, y[0], x, y[1], duration);
  55. }

  56. function isFull() {
  57.     for (let i = 0; i < 10; i++) {
  58.         if (descContains("已达上限").findOnce() || textContains("已达上限").findOnce()) {
  59.             console.log("今日已达上限");
  60.             return 1;
  61.         }
  62.         sleep(1000);
  63.     }
  64.     return 0
  65. }


  66. function waitSwipe() {
  67.     let swipeAppear;
  68.     let shoppingFull;
  69.     for (let i = 0; i < 3; i++) {
  70.         swipeAppear = desc("滑动浏览得").findOne(1000);
  71.         if (swipeAppear != null) break;
  72.         shoppingFull = descContains("已达上限").findOne(1000);
  73.         if (shoppingFull != null) return 0;
  74.         console.log("i" + i);
  75.     }

  76.     sleep(1000);

  77.     if (swipeAppear != null) {
  78.         console.log("开始滑动");
  79.         swipeUp();
  80.         console.log("等待15s");
  81.         sleep(1000 * 16);
  82.     } else {
  83.         console.log("slow");
  84.         console.log("等待20s");
  85.         sleep(1000 * 20);
  86.     }

  87.     let shoppingFinish = desc("任务完成").findOne(2000);
  88.     if (shoppingFinish != null) {
  89.         console.log("逛完,准备返回");
  90.     } else {
  91.         toastLog("未知逛完,返回");
  92.     }

  93.     return 1;
  94. }

  95. function browseFinish() {
  96.     for (let i = 0; i < 10; i++) {
  97.         let normalFinishDesc = descContains("已获得").findOnce();
  98.         let normalFinishText = textContains("已获得").findOnce();
  99.         let swipeFinish = desc("任务完成").findOnce();

  100.         if (normalFinishDesc != null || swipeFinish != null || normalFinishText != null) {
  101.             console.log("浏览结束");
  102.             return 0;
  103.         }
  104.         sleep(250);
  105.     }

  106.     console.log("浏览未知");
  107.     return -1;
  108. }

  109. function judgeWay() {
  110.     let timeOut = 1000 * 7;
  111.     let delay = 250;
  112.     let loops = parseInt(timeOut / delay);
  113.     for (let i = 0; i < loops; i++) {
  114.         let swipeAppearDesc = descContains("滑动浏览得").findOnce();
  115.         let swipeAppearText = textContains("滑动浏览得").findOnce();
  116.         if (swipeAppearDesc != null || swipeAppearText != null) {
  117.             console.log("已获取到滑动浏览模式");
  118.             return 0;
  119.         }

  120.         let directBrowseDesc = desc("浏览").findOnce();
  121.         let directBrowseText = text("浏览").findOnce();
  122.         if (directBrowseDesc != null || directBrowseText != null) {
  123.             if (descContains("00喵币").findOnce() != null || textContains("00喵币").findOnce() != null) {
  124.                 console.log("已获取到正常浏览模式");
  125.                 return 1;
  126.             }
  127.         }

  128.         sleep(delay);
  129.     }

  130.     console.log("超时");
  131.     return -1;
  132. }

  133. function reopenAgain() {
  134.     console.log("reopen");
  135.     let tbs = id("taskBottomSheet").findOnce();
  136.     if (tbs == null) return -1;
  137.     let close = tbs.child(1);
  138.     if (close != null) {
  139.         console.log("关闭");
  140.         clickItemInCenter(close);
  141.         sleep(1000);
  142.         return ensureOpenBeginning(1000);
  143.     }
  144.     return -1;
  145. }

  146. function runGoShopping() {
  147.     let isSuccess;

  148.     for (let i = 0; i < 20; i++) {
  149.         isSuccess = ensureOpenBeginning(1000);
  150.         if (isSuccess !== 1) break;
  151.         isSuccess = goShopping();

  152.         let count = 0;
  153.         while (isSuccess !== 1) {
  154.             if (reopenAgain() === 1) {
  155.                 isSuccess = 1;
  156.                 break;
  157.             }
  158.             if (count++ >= 2) break;
  159.         }

  160.         if (isSuccess === -1) break;

  161.         let st = waitSwipe();
  162.         if (st === 0) {
  163.             toastLog("已达上限,结束脚本");
  164.             return 0;
  165.         }

  166.         back();
  167.         sleep(1000);
  168.     }


  169.     if (isSuccess === 0) {
  170.         toastLog("正常结束");
  171.         return 0;
  172.     } else if (isSuccess === -1) {
  173.         toastLog("异常结束");
  174.         return 1;
  175.     }
  176. }


  177. function clickGoBrowse() {
  178.     let browse = text("去浏览").findOne(1000);
  179.     if (browse != null) {
  180.         let guessYouLike = textContains("猜你喜欢").findOnce();
  181.         if (guessYouLike != null) {
  182.             console.log("出现猜你喜欢");
  183.             let pp = browse.parent.bounds().top;
  184.             let ppp = guessYouLike.parent.parent.bounds().top;
  185.             if (ppp === pp) {
  186.                 console.log("跳过--猜你喜欢");
  187.                 let allBrowse = text("去浏览").find();
  188.                 for (let i = 0; i < allBrowse.length; i++) {
  189.                     let item = allBrowse[i];
  190.                     if (item.bounds().top !== browse.bounds().top) {
  191.                         browse = item;
  192.                     }
  193.                 }
  194.             }
  195.         }

  196.         console.log("点击--去浏览");
  197.         clickItemInCenter(browse);
  198.         return 1;
  199.     }
  200.     return -1;
  201. }

  202. function runGoBrowse() {
  203.     let isSuccess = 1;

  204.     for (let i = 0; i < 40; i++) {
  205.         isSuccess = ensureOpenBeginning(1000);
  206.         if (isSuccess !== 1) break;

  207.         for (let j = 0; j < 3; j++) {
  208.             isSuccess = clickGoBrowse();
  209.             if (isSuccess !== 1) {
  210.                 reopenAgain();
  211.             } else break;
  212.         }

  213.         if (isSuccess === -1) break;

  214.         let jw = judgeWay();

  215.         sleep(1000);
  216.         if (jw === 0) swipeUp();
  217.         else if (jw === -1) {
  218.             if (isFull() === 1) {
  219.                 console.log("已达上限");
  220.                 back();
  221.                 sleep(2000);
  222.                 reopenAgain();
  223.                 continue;
  224.             }
  225.             console.log("4s");
  226.             sleep(1000 * 4);
  227.         }
  228.         console.log("15s");
  229.         sleep(1000 * 15);


  230.         let isF = browseFinish();
  231.         if (isF === 0) {
  232.             console.log("浏览结束,返回");
  233.         } else if (isF === -1) {
  234.             console.log("浏览未正常结束,返回");
  235.         }

  236.         back();
  237.         sleep(2000);
  238.     }
  239. }

  240. function removeFile(fileName) {
  241.     if (files.exists(fileName)) {
  242.         files.remove(fileName);
  243.     }
  244. }

  245. function clearNewScript() {
  246.     threads.start(function () {
  247.         removeFile("/sdcard/脚本/淘宝喵币/script.js");
  248.         removeFile("/sdcard/脚本/淘宝喵币/version.txt");
  249.         toastLog("清除完成");
  250.     });
  251. }


  252. function warning(n) {
  253.     let items = ["不更新,但还是试试新脚本(不保证能用)", "清除本地下载的新脚本,使用默认脚本", "点击这里下载新APP"];

  254.     let ch = dialogs.select("当前新版本不适用于此旧APP,请更新到新APP。", items, function (index) {

  255.         if (index >= 0) {

  256.             if (index === 0) {

  257.                 threads.start(function () {
  258.                     sleep(1000);
  259.                     runRun(n);
  260.                 });

  261.             } else if (index === 1) {
  262.                 clearNewScript();
  263.             } else if (index === 2) {
  264.                 alert("哪里下载的旧APP就去哪里下载新APP,我可没心思发布");
  265.             }
  266.         }
  267.     });
  268. }

  269. function runRun(n) {
  270.     sleep(500);

  271.     let statue = runGoBrowse();
  272.     toastLog("去浏览--浏览结束");
  273.     alert("结束");
  274. }

  275. function moveFloating(n) {
  276.     let i = -1;
  277.     dialogs.confirm("由于需要,请将悬浮窗移动至靠左。", "点击确认表示已完成,直接运行脚本。\n点击取消则手动前去调整。\n" +
  278.         "(中间浏览过程中可能会跳转到淘宝首页进行浏览,此时需要手动再次切回猫铺。)", function (clear) {
  279.         if (clear) {
  280.             console.log("直接运行");
  281.             i = 1;
  282.         } else {
  283.             toastLog("请将悬浮窗移动至靠左");
  284.             i = 0;
  285.         }
  286.     });


  287.     while (i === -1) {
  288.         slepp(100);
  289.     }
  290.     if (i === 1) {
  291.         runRun(n);
  292.     }
  293. }

  294. function runChoose(n) {
  295.     let currentVersion = app.versionCode;
  296.     if (currentVersion === 1) {
  297.         warning(n);
  298.     } else {
  299.         moveFloating(n);
  300.     }
  301. }

  302. module.exports = runChoose;
复制代码



回复

使用道具 举报

QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友

159

主题

211

帖子

961

积分

高级会员

Rank: 4

积分
961
灵儿呀 发表于 2019-11-7 17:54:09 显示全部楼层
感谢分享
来自安卓客户端来自安卓客户端
大家好,我是灵儿吖,公众号:灵儿的笔记(zygxsq)
回复 支持 反对

使用道具 举报

QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友

0

主题

1

帖子

22

积分

新手上路

Rank: 1

积分
22
honey210b 发表于 2020-2-24 08:08:37 显示全部楼层
谢谢分享,收了
来自安卓客户端来自安卓客户端
回复 支持 反对

使用道具 举报

QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

1
QQ