forked from ShyLoong/autojs-script
-
Notifications
You must be signed in to change notification settings - Fork 0
/
ReAiHuanYouJi.js
182 lines (180 loc) · 7.17 KB
/
ReAiHuanYouJi.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
// [注意事项] 打开任务界面
//页面切换时间间隙默认为4396毫秒,可以根据网络情况修改
let timeGap = 4396 ;
//8s浏览任务时间默认为14396毫秒,可以根据网络情况修改
let viewTime = 14396;
start()
function start() {
console.show();
auto.waitFor();
app.launch("com.jingdong.app.mall");
while (!textContains("累计任务奖励").exists()) {
// className("android.view.View").textContains("打卡领红包").findOne().click()
log("请打开任务界面!");
sleep(timeGap);
}
//任务一已完成
let hasFinishedTask1 = 0;
while (1) {
// 任务类型一,浏览8s任务
if (hasFinishedTask1 == 0 && textContains("8s").exists()) {
//设置标志位
hasFinishedTask1 = 1;
//做两个任务
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()) {
let text = task_8s[i].parent().child(1).text();
let allTaskNum = getAllTaskNum(text);
let finishedTaskNum = getFinishedTaskNum(text);
for (let j = finishedTaskNum; j < allTaskNum; j++) {
if (task_8s[i] && task_8s[i].parent()) {
log(task_8s[i].parent().child(1).text());
log("浏览8s任务");
task_8s[i].parent().child(3).click();
sleep(viewTime);
back();
sleep(timeGap);
//完成一次任务后重置
hasFinishedTask1 = 0;
} else {
hasFinishedTask1 = 0;
break;
}
}
}
}
}
// 任务类型二,累计浏览加购5个商品
else if (textContains("累计浏览").exists() && !isFinish("累计浏览")) {
let win = textContains("累计浏览").findOnce().parent();
log(win.child(1).text());
log("累计浏览5个商品");
let text = win.child(1).text();
let allTaskNum = getAllTaskNum(text);
let finishedTaskNum = getFinishedTaskNum(text);
win.child(3).click();
sleep(timeGap*2);
let inlineWin = textStartsWith("¥").findOnce().parent().parent();
for (let i = Number(finishedTaskNum); i < Number(allTaskNum); i++) {
log("浏览第" + (i + 1) + "个商品");
inlineWin.child(i).child(5).click();
sleep(timeGap*2);
back();
sleep(timeGap);
for(let i=0;!className("android.view.View").textContains("5个商品领汪汪币").findOnce()&&i<4;i++) {
if(i==3){
log("无法返回退出脚本,请重新执行脚本")
exit();
}
back();
log("无法返回加购页面,第"+(i+1)+"次返回(最多三次)");
sleep(timeGap);
}
}
back();//返回任务界面
sleep(timeGap);
//完成一次任务后重置
hasFinishedTask1 = 0;
}
//任务类型三,普通点击浏览任务
else if (textStartsWith("浏览可得").exists() && !isFinish("浏览可得")) {
let win = textStartsWith("浏览可得").findOnce().parent();
log(win.child(1).text());
log("普通点击浏览任务");
win.child(3).click();
sleep(timeGap);
zhongc();
back();
sleep(timeGap);
//完成一次任务后重置
hasFinishedTask1 = 0;
}
else if (textStartsWith("浏览并关注可得").exists() && !isFinish("浏览并关注可得")) {
log(textStartsWith("浏览并关注可得").findOnce().parent().child(1).text());
log("普通点击浏览任务");
className("android.view.View").textStartsWith("浏览并关注可得").findOne().parent().child(3).click();
sleep(timeGap);
zhongc();
back();
sleep(timeGap);
//完成一次任务后重置
hasFinishedTask1 = 0;
}
else if (textContains("小程序").exists() && !isFinish("小程序")) {
let win = textContains("小程序").findOnce().parent();
log(win.child(1).text());
log("普通点击浏览任务");
win.child(3).click();
sleep(timeGap);
back();
sleep(timeGap);
//完成一次任务后重置
hasFinishedTask1 = 0;
}
else if (textContains("入会").exists() && !isFinish("入会")) {
log(textContains("入会").findOnce().parent().child(1).text());
log("浏览入会界面,获取金币");
className("android.view.View").textContains("入会").findOne().parent().child(3).click();
sleep(timeGap);
if (textContains("加入店铺会员").exists()) {
log("脚本结束(涉及个人隐私,请手动加入店铺会员)");
break;
}
back();
sleep(timeGap);
//完成一次任务后重置
hasFinishedTask1 = 0;
}
//结束
else {
log("四种任务已完成,若有剩余可再启动一次脚本或手动完成");
break;
}
//避免弹窗,返回任务界面
for (let i = 1; !textContains("累计任务奖励").exists() && i <= 5; i++) {
if (i == 5) {
log("无法返回任务界面,脚本结束");
exit();
}
log("无法返回任务界面,第" + i + "次尝试返回(最多4次)");
back();
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);
}
}
}
function isFinish(keyWord) {
let str;
if (keyWord == "浏览可得" || keyWord == "浏览并关注可得" || keyWord == "参与") {
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);
sleep(timeGap)
if (finishedTask >= allTask) {
return true;
}
return false;
}