├── README.md └── 淘宝双十二活动脚本.js /README.md: -------------------------------------------------------------------------------- 1 | ![](https://img.shields.io/badge/version-2.2.0-blue) ![](https://img.shields.io/badge/-Auto.js-yellowgreen) 2 | # 淘宝双十二活动脚本 3 | ## 更新日志 4 | 5 | **v2.2.0--2020-12-08** 6 | * 新增任务选择功能 7 | * 优化了代码结构,提升了脚本运行的稳定性 8 | 9 | **v2.1.0--2020-12-07** 10 | * 新增自动做淘金币任务功能 11 | * 优化代码结构 12 | 13 | **v2.0.0--2020-12-05** 14 | * 新增直接打开活动界面功能,解决部分人初次运行脚本时显示已完成的问题 15 | * 新增调速功能,可自由选择调节脚本的操作间隔,旧手机的福音 16 | * 应很多网友要求,已将脚本打包成apk,省去了繁琐的脚本导入步骤,实现了脚本的即开即用 17 | 18 | **v1.2.0--2020-12-03** 19 | * 新增自动跳过游戏功能 20 | * 新增自动跳过开通88VIP功能 21 | * 优化代码 22 | 23 | **v1.1.1--2020-12-02** 24 | * 新增活动页面自动立即领取功能 25 | * 新增自动跳过拍立淘任务功能 26 | * 优化代码 27 | ## 使用说明 28 | * 高版本淘宝APP有**检测机制**,经测试V9.0.0版淘宝APP可以获得全额奖励 29 | * **Android7.0**及以上设备(无需Root)安装**Auto.js** App 30 | * Auto.js APP下导入js脚本 31 | * 开启无障碍服务并授权给Auto.js后,点击运行脚本即可 32 | * 脚本执行过程中请勿手动点击屏幕,否则脚本执行可能会错乱,导致任务失败 33 | * 在Auto.js App中提前设置音量上键停止所有脚本,以便脚本运行出错时可按音量+键终止 34 | ## 下载链接 35 | * [豌豆荚淘宝历史版本下载](https://www.wandoujia.com/apps/32267/history) 36 | 37 | 38 | 39 | 40 | 41 | -------------------------------------------------------------------------------- /淘宝双十二活动脚本.js: -------------------------------------------------------------------------------- 1 | /** 2 | * 淘宝双十二活动脚本 3 | * 4 | * Date: 2020/12/07 5 | * Versions: 2.2.0 6 | */ 7 | 8 | //全局参数 9 | versions = 'V2.2.0'; 10 | width = device.width; 11 | height = device.height; 12 | speed = 1; 13 | speedChooseList = ["正常", "快速", "缓慢"]; 14 | ChooseList = [1, 0.5,3.5]; 15 | taskChooseList = ["欢乐造红包", "淘金币"]; 16 | task = 0; 17 | txt = ["任务完成","任务已完成","任务已经","任务已经全部完成啦","能量"]; 18 | 19 | //无障碍判定 20 | try { 21 | auto(); 22 | } catch (error) { 23 | toast("请手动开启无障碍并授权给Auto.js"); 24 | sleep(2000); 25 | exit(); 26 | } 27 | 28 | //速度选择 29 | function speedChoose() { 30 | var option = dialogs.singleChoice("选择运行速度", speedChooseList); 31 | if (option == -1) { 32 | toastLog("脚本已退出"); 33 | exit(); 34 | } 35 | speed = ChooseList[option]; 36 | } 37 | 38 | //任务选择 39 | function taskChoose() { 40 | var option = dialogs.singleChoice("选择运行任务", taskChooseList); 41 | if (option == -1) { 42 | toastLog("脚本已退出"); 43 | exit(); 44 | } 45 | task = option; 46 | } 47 | 48 | //获取控件是否存在操作 49 | function get(txt) 50 | { 51 | return descContains(txt).exists() || textContains(txt).exists(); 52 | } 53 | 54 | //升级领红包任务 55 | function redEnvelopeStart() 56 | { 57 | textContains("领欢乐币").waitFor(); 58 | sleep(1000+1000*speed); 59 | if(get("领欢乐币")){ 60 | textContains("领欢乐币").click(); 61 | } 62 | sleep(1000+1000*speed); 63 | if(get("去打卡")){ 64 | console.info("去打卡"); 65 | textContains("去打卡").click(); 66 | } 67 | sleep(1000+1000*speed); 68 | num = 1; 69 | j=0; 70 | while(true){ 71 | if(text("去完成").findOnce(j)!=null){ 72 | t = className("android.widget.Button").text("去完成").findOnce(j).parent().child(0).child(0).text(); 73 | if(t=="去芭芭农场施肥1次(0/1)"||t.split("(")[0]=="邀请5个好友一起玩"||t=="开通金币月卡得欢乐币(0/1)"||t=="用图片找同款赢欢乐币(0/1)"||t=="逛一逛考拉海购会场(0/1)"||t=="去淘宝特价版领奖励!(0/1)"||t=="玩省钱消消消得欢乐币(0/1)"||t=="连续包月得欢乐币!(0/1)"){ 74 | log("跳过-"+t.split("(")[0]+"-任务"); 75 | sleep(1000); 76 | j++; 77 | }else{ 78 | while(true){ 79 | console.info("第"+num+"次去完成"); 80 | num++; 81 | text("去完成").findOnce(j).click(); 82 | sleep(random(7500,8500)+1000*speed); 83 | if(get("浏览")){ 84 | while(true){ 85 | if(get(txt[0]) || get(txt[1]) || get(txt[2])|| get(txt[3])|| get(txt[4])){ 86 | sleep(1000); 87 | break; 88 | }else{ 89 | sleep(1000); 90 | } 91 | } 92 | back(); 93 | break; 94 | }else{ 95 | log("跳过-"+t.split("(")[0]+"-任务"); 96 | j++; 97 | back();break; 98 | } 99 | } 100 | sleep(3000+1000*speed); 101 | } 102 | }else{ 103 | break; 104 | } 105 | } 106 | //立即领取任务 107 | count = 3; 108 | while(text("立即领取").exists()){ 109 | text("立即领取").findOne().click(); 110 | sleep(1000+1000*speed); 111 | count--; 112 | if(count<0){ 113 | break; 114 | } 115 | } 116 | } 117 | 118 | //淘金币任务 119 | function goldStart(){ 120 | textContains("每日来访领能量").waitFor(); 121 | sleep(2000+1000*speed); 122 | num = 1; 123 | j = 0; 124 | while(true){ 125 | while(text("领取奖励").exists()){ 126 | log("领取奖励"); 127 | text("领取奖励").findOne().click(); 128 | sleep(4000); 129 | } 130 | if(className("android.widget.Button").text("去领取").exists()){ 131 | className("android.widget.Button").text("去领取").click(); 132 | log("去领取,大约10秒"); 133 | sleep(10000); 134 | back(); 135 | sleep(5000); 136 | } 137 | if(className("android.widget.Button").text("去完成").findOnce(j)!=null){ 138 | t = className("android.widget.Button").text("去完成").findOnce(j).parent().child(0).child(0).text(); 139 | if(t=="逛蚂蚁庄园喂小鸡(0/1)"||t=="淘宝人生逛街领能量(0/1)"||t=="买猫超商品得淘金币(0/1)"||t=="欢乐造1212元大红包(0/1)"||t=="逛省钱消消乐拿红包(0/1)"||t=="去天猫APP领红包(0/1)"||t=="惊喜!充话费拿金币(0/1)"){ 140 | log("跳过-"+t.split("(")[0]+"-任务"); 141 | sleep(1000); 142 | j++; 143 | }else{ 144 | className("android.widget.Button").text("去完成").findOnce(j).click(); 145 | console.info("第"+num+"次-"+t.split("(")[0]); 146 | num++; 147 | while(true){ 148 | sleep(random(7500,8500)+1000*speed); 149 | if (textContains("浏览以下商品 10 秒").exists()) { 150 | log("正在浏览商品,大约10秒"); 151 | sleep(10000); 152 | back(); 153 | break; 154 | } 155 | if (t=="逛聚划算双11爆款(0/1)") { 156 | log("正在浏览,大约10秒"); 157 | sleep(10000); 158 | back(); 159 | break; 160 | } 161 | if (t.split("(")[0]=="每日来访领能量") { 162 | sleep(500); 163 | break; 164 | } 165 | if (t.split("(")[0]=="签到领话费充值金") { 166 | log("正在浏览,大约10秒"); 167 | sleep(10000); 168 | back(); 169 | break; 170 | } 171 | if (t=="看免费小说领能量(0/1)") { 172 | log("正在浏览,大约10秒"); 173 | sleep(10000); 174 | back(); 175 | break; 176 | } 177 | if(get("滑动浏览")){ 178 | while(true){ 179 | if(get(txt[0]) || get(txt[1]) || get(txt[2])|| get(txt[3])|| get(txt[4])){ 180 | sleep(1000); 181 | break; 182 | }else{ 183 | sleep(1000); 184 | } 185 | } 186 | back(); 187 | sleep(2000); 188 | if(text("残忍离开").exists()){ 189 | text("残忍离开").click(); 190 | sleep(2000); 191 | } 192 | break; 193 | }else{ 194 | log("跳过-"+t.split("(")[0]+"-任务"); 195 | j++; 196 | back(); 197 | break; 198 | } 199 | } 200 | sleep(3000+1000*speed); 201 | } 202 | }else{ 203 | break; 204 | } 205 | } 206 | } 207 | 208 | //开始运行 209 | function run() 210 | { 211 | //开启悬浮窗并设置大小 212 | console.show(); 213 | sleep(500); 214 | console.setSize(width/1.5,height/5); 215 | //进入活动的链接和提示信息数组 216 | array = ["taobao://pages.tmall.com/wow/z/tmtjb/town/1212-home","taobao://pages.tmall.com/wow/z/tmtjb/town/task","正在进入升级领红包活动界面","正在进入淘金币活动界面"]; 217 | if(task==0){ 218 | log(array[task+2]); 219 | activityData = array[task]; 220 | app.startActivity({ 221 | action: "android.intent.action.VIEW", 222 | data: activityData, 223 | packageName: "com.taobao.taobao" 224 | }); 225 | redEnvelopeStart(); 226 | } 227 | if(task==1){ 228 | log(array[task+2]); 229 | activityData = array[task]; 230 | app.startActivity({ 231 | action: "android.intent.action.VIEW", 232 | data: activityData, 233 | packageName: "com.taobao.taobao" 234 | }); 235 | goldStart(); 236 | } 237 | //关闭悬浮窗 238 | console.info("脚本结束") 239 | sleep(500); 240 | console.hide(); 241 | } 242 | 243 | //开始执行run 244 | alert("【淘宝双十二活动脚本"+versions+"】\n\n脚本执行过程请勿手动点击屏幕,否则脚本执行可能会错乱,导致任务失败\n执行过程中可按音量+键终止\n\n执行淘宝任务时请确保使用低版本淘宝(V9.0.0及以下),否则无法获取奖励"); 245 | speedChoose(); 246 | taskChoose(); 247 | run(); 248 | alert("任务已完成!"); 249 | exit(); 250 | 251 | --------------------------------------------------------------------------------