autojs-script/ReAiHuanYouJi.js

177 lines
6.8 KiB
JavaScript
Raw Normal View History

2021-10-22 23:55:28 +08:00
// [注意事项] 打开任务界面
2021-10-26 03:00:31 +08:00
2021-10-27 12:56:20 +08:00
//页面切换时间间隙默认为4396毫秒,可以根据网络情况修改
2021-10-27 11:47:56 +08:00
let timeGap = 4396 ;
2021-10-27 00:33:07 +08:00
//8s浏览任务时间默认为14396毫秒,可以根据网络情况修改
let viewTime = 14396;
2021-10-26 03:00:31 +08:00
2021-10-22 23:55:28 +08:00
start()
function start() {
2021-10-25 21:33:23 +08:00
console.show();
auto.waitFor();
app.launch("com.jingdong.app.mall");
2021-10-22 23:55:28 +08:00
while (!textContains("累计任务奖励").exists()) {
// className("android.view.View").textContains("打卡领红包").findOne().click()
2021-10-25 21:33:23 +08:00
log("请打开任务界面!");
2021-10-26 03:00:31 +08:00
sleep(timeGap);
2021-10-22 23:55:28 +08:00
}
2021-10-26 03:00:31 +08:00
//任务一已完成
let hasFinishedTask1 = 0;
2021-10-22 23:55:28 +08:00
while (1) {
2021-10-25 21:33:23 +08:00
// 任务类型一,浏览8s任务
2021-10-26 03:00:31 +08:00
if (hasFinishedTask1 == 0 && textContains("8s").exists()) {
//设置标志位
hasFinishedTask1 = 1;
//做两个任务
2021-10-25 21:33:23 +08:00
for (let i = 0; i < 2; i++) {
let task_8s = className("android.view.View").textContains("8s").find();
if (task_8s[i] && task_8s[i].parent()) {
2021-10-26 03:00:31 +08:00
let text = task_8s[i].parent().child(1).text();
let allTaskNum = getAllTaskNum(text);
let finishedTaskNum = getFinishedTaskNum(text);
for (let j = finishedTaskNum; j < allTaskNum; j++) {
2021-10-25 23:13:27 +08:00
if (task_8s[i] && task_8s[i].parent()) {
2021-10-26 03:00:31 +08:00
log(task_8s[i].parent().child(1).text());
2021-10-25 22:52:09 +08:00
log("浏览8s任务");
task_8s[i].parent().child(3).click();
2021-10-26 03:00:31 +08:00
sleep(viewTime);
2021-10-25 22:52:09 +08:00
back();
2021-10-26 03:00:31 +08:00
sleep(timeGap);
//完成一次任务后重置
2021-10-27 00:25:43 +08:00
hasFinishedTask1 = 0;
} else {
hasFinishedTask1 = 0;
break;
2021-10-25 22:52:09 +08:00
}
2021-10-25 21:33:23 +08:00
}
}
}
}
2021-10-22 23:55:28 +08:00
//任务类型二,累计浏览加购5个商品
2021-10-27 00:25:43 +08:00
else if (textContains("累计浏览").exists() && !isFinish("累计浏览")) {
2021-10-26 03:00:31 +08:00
let win = textContains("累计浏览").findOnce().parent();
log(win.child(1).text());
2021-10-25 21:33:23 +08:00
log("累计浏览5个商品");
2021-10-26 03:00:31 +08:00
let text = win.child(1).text();
let allTaskNum = getAllTaskNum(text);
let finishedTaskNum = getFinishedTaskNum(text);
win.child(3).click();
2021-10-27 00:25:43 +08:00
sleep(timeGap*2);
2021-10-26 03:00:31 +08:00
let inlineWin = textStartsWith("¥").findOnce().parent().parent();
for (let i = Number(finishedTaskNum); i < Number(allTaskNum); i++) {
2021-10-25 21:33:23 +08:00
log("浏览第" + (i + 1) + "个商品");
2021-10-27 00:25:43 +08:00
if (!inlineWin) {
2021-10-26 03:00:31 +08:00
back();
sleep(timeGap);
}
inlineWin.child(i).child(5).click();
2021-10-27 11:47:56 +08:00
sleep(timeGap*2);
2021-10-25 21:33:23 +08:00
back();
2021-10-26 03:00:31 +08:00
sleep(timeGap);
2021-10-22 23:55:28 +08:00
}
2021-10-25 21:33:23 +08:00
back();//返回任务界面
2021-10-26 03:00:31 +08:00
sleep(timeGap);
//完成一次任务后重置
hasFinishedTask1 = 0;
2021-10-22 23:55:28 +08:00
}
//任务类型三,普通点击浏览任务
2021-10-27 00:25:43 +08:00
else if (textStartsWith("浏览可得").exists() && !isFinish("浏览可得")) {
2021-10-26 03:00:31 +08:00
let win = textStartsWith("浏览可得").findOnce().parent();
log(win.child(1).text());
2021-10-25 21:33:23 +08:00
log("普通点击浏览任务");
2021-10-26 03:00:31 +08:00
win.child(3).click();
sleep(timeGap);
zhongc();
2021-10-25 22:30:07 +08:00
back();
2021-10-26 03:00:31 +08:00
sleep(timeGap);
//完成一次任务后重置
hasFinishedTask1 = 0;
2021-10-25 22:30:07 +08:00
}
2021-10-27 00:25:43 +08:00
else if (textStartsWith("浏览并关注可得").exists() && !isFinish("浏览并关注可得")) {
2021-10-26 03:00:31 +08:00
log(textStartsWith("浏览并关注可得").findOnce().parent().child(1).text());
2021-10-25 22:30:07 +08:00
log("普通点击浏览任务");
className("android.view.View").textStartsWith("浏览并关注可得").findOne().parent().child(3).click();
2021-10-26 03:00:31 +08:00
sleep(timeGap);
zhongc();
back();
sleep(timeGap);
//完成一次任务后重置
hasFinishedTask1 = 0;
}
2021-10-27 00:25:43 +08:00
else if (textContains("小程序").exists() && !isFinish("小程序")) {
2021-10-26 03:00:31 +08:00
let win = textContains("小程序").findOnce().parent();
log(win.child(1).text());
log("普通点击浏览任务");
win.child(3).click();
sleep(timeGap);
2021-10-25 21:33:23 +08:00
back();
2021-10-26 03:00:31 +08:00
sleep(timeGap);
//完成一次任务后重置
hasFinishedTask1 = 0;
2021-10-22 23:55:28 +08:00
}
2021-10-27 00:25:43 +08:00
else if (textContains("入会").exists() && !isFinish("入会")) {
2021-10-26 03:00:31 +08:00
log(textContains("入会").findOnce().parent().child(1).text());
2021-10-25 21:33:23 +08:00
log("浏览入会界面,获取金币");
className("android.view.View").textContains("入会").findOne().parent().child(3).click();
2021-10-26 03:00:31 +08:00
sleep(timeGap);
2021-10-22 23:55:28 +08:00
if (textContains("加入店铺会员").exists()) {
2021-10-26 03:00:31 +08:00
log("脚本结束(涉及个人隐私,请手动加入店铺会员)");
2021-10-25 21:33:23 +08:00
break;
2021-10-22 23:55:28 +08:00
}
2021-10-25 21:33:23 +08:00
back();
2021-10-26 03:00:31 +08:00
sleep(timeGap);
//完成一次任务后重置
hasFinishedTask1 = 0;
2021-10-22 23:55:28 +08:00
}
//结束
else {
2021-10-25 21:33:23 +08:00
log("四种任务已完成,若有剩余可再启动一次脚本或手动完成");
break;
2021-10-22 23:55:28 +08:00
}
2021-10-25 21:33:23 +08:00
//避免弹窗,返回任务界面
for (let i = 1; !textContains("累计任务奖励").exists() && i <= 5; i++) {
if (i == 5) {
2021-10-25 23:13:27 +08:00
log("无法返回任务界面,脚本结束");
2021-10-25 21:33:23 +08:00
exit();
}
2021-10-25 23:13:27 +08:00
log("无法返回任务界面,第" + i + "次尝试返回(最多4次)");
2021-10-25 21:33:23 +08:00
back();
2021-10-26 03:00:31 +08:00
sleep(timeGap);
}
}
}
function getAllTaskNum(text) {
let allTask = text.charAt(text.length - 2)
return allTask;
}
function getFinishedTaskNum(text) {
let finishedTask = text.charAt(text.length - 4)
return finishedTask;
}
function zhongc() {
if (textContains("互动种草").exists()) {
let task = className("android.view.View").text("5000汪汪币").findOne().parent().parent();
for (let i = 0; i < 5; i++) {
log("浏览第" + (i + 1) + "个商品");
task.child(2).child(5).click();
sleep(timeGap);
back();
sleep(timeGap);
2021-10-25 21:33:23 +08:00
}
}
}
function isFinish(keyWord) {
let str;
2021-10-25 22:30:07 +08:00
if (keyWord == "浏览可得" || keyWord == "浏览并关注可得" || keyWord == "参与") {
2021-10-25 21:33:23 +08:00
str = textStartsWith(keyWord).findOnce().parent().child(1).text();
} else {
str = textContains(keyWord).findOnce().parent().child(1).text();
}
let finishedTask = str.charAt(str.length - 4);
let allTask = str.charAt(str.length - 2);
2021-10-26 03:00:31 +08:00
sleep(timeGap)
if (finishedTask >= allTask) {
2021-10-25 21:33:23 +08:00
return true;
}
return false;
2021-10-26 03:00:31 +08:00
}