京东自动叠蛋糕|淘宝自动领喵币,叠列车|618全民购物|JavaScript
"ui";
var color = "#009688";
main();
function main() {
ui.layout(
<drawer id="drawer">
<vertical>
<appbar>
<toolbar id="toolbar" title="618小助手" />
<tabs id="tabs" />
</appbar>
<viewpager id="viewpager">
{/* 淘宝页面 */}
<frame>
<vertical>
<card w="*" h="85" margin="10 5" cardCornerRadius="2dp"
cardElevation="1dp" gravity="center_vertical">
<vertical padding="18 8" h="auto">
<text text="执行速度(默认正常速度50,越大越快)" textColor="#222222" textSize="18sp" />
<input id="taobaoSpeed" inputType="number" hint="最小为1,最大为100" />
</vertical>
<View bg="#f44336" h="*" w="10" />
</card>
<list id="taobaoList">
<card w="*" h="50" margin="10 5" cardCornerRadius="2dp"
cardElevation="1dp" foreground="?selectableItemBackground">
<horizontal gravity="center_vertical">
<View bg="{{this.color}}" h="*" w="10" />
<vertical padding="10 8" h="auto" w="0" layout_weight="1">
<text id="title" text="{{this.title}}" textColor="#222222" textSize="18sp" maxLines="1" />
</vertical>
<checkbox id="done" marginLeft="4" marginRight="6" checked="{{this.done}}" />
</horizontal>
</card>
</list>
<horizontal gravity="center">
<button style="Widget.AppCompat.Button.Colored" w="auto" h="auto" id="gototb" text="开始任务" textSize="26sp" />
</horizontal>
</vertical>
</frame>
{/* 京东界面 */}
<frame>
<vertical>
<card w="*" h="85" margin="10 5" cardCornerRadius="2dp"
cardElevation="1dp" gravity="center_vertical">
<vertical padding="18 8" h="auto">
<text text="执行速度(默认正常速度50,越大越快)" textColor="#222222" textSize="18sp" />
<input id="jdSpeed" inputType="number" hint="最小为1,最大为100" />
</vertical>
<View bg="#f44336" h="*" w="10" />
</card>
<card w="*" h="85" margin="10 5" cardCornerRadius="2dp"
cardElevation="1dp" gravity="center_vertical">
<vertical padding="18 8" h="auto">
<text text="设置小金人任务次数" textColor="#222222" textSize="18sp" />
<input id="goldTime" inputType="number" hint="最小为1,最大为50" />
</vertical>
<View bg="#78909c" h="*" w="10" />
</card>
<list id="jdList">
<card w="*" h="50" margin="10 5" cardCornerRadius="2dp"
cardElevation="1dp" foreground="?selectableItemBackground">
<horizontal gravity="center_vertical">
<View bg="{{this.color}}" h="*" w="10" />
<vertical padding="10 8" h="auto" w="0" layout_weight="1">
<text id="title" text="{{this.title}}" textColor="#222222" textSize="18sp" maxLines="1" />
</vertical>
<checkbox id="done" marginLeft="4" marginRight="6" checked="{{this.done}}" />
</horizontal>
</card>
</list>
<horizontal gravity="center">
<button style="Widget.AppCompat.Button.Colored" w="auto" h="auto" id="gotojd" text="开始任务" textSize="26sp" />
<button style="Widget.AppCompat.Button.Colored" w="auto" h="auto" id="gotojdGold" text="小金人" textSize="26sp" />
</horizontal>
</vertical>
</frame>
{/* 关于 */}
<frame>
<ScrollView>
<vertical>
<horizontal gravity="center" margin="10 5" w="*" h="auto">
<text text="使用方法" textStyle="bold" textColor="#222222" textSize="22sp" maxLines="1" />
</horizontal>
<card w="*" h="auto" margin="10 5" cardCornerRadius="2dp"
cardElevation="1dp" foreground="?selectableItemBackground">
<horizontal gravity="center_vertical">
<vertical padding="15 8" h="auto" w="auto" layout_weight="1">
<text id="help" text="" textColor="#222222" textSize="18sp" maxLines="50" />
</vertical>
</horizontal>
</card>
<horizontal gravity="center" margin="10 5" w="*" h="auto">
<text text="常见问题" textStyle="bold" textColor="#222222" textSize="22sp" maxLines="1" />
</horizontal>
<card w="*" h="auto" margin="10 5" cardCornerRadius="2dp"
cardElevation="1dp" foreground="?selectableItemBackground">
<horizontal gravity="center_vertical">
<vertical padding="15 8" h="auto" w="auto" layout_weight="1">
<text id="question" text="" textColor="#222222" textSize="18sp" maxLines="100" />
</vertical>
</horizontal>
</card>
<horizontal gravity="center" margin="10 5" w="*" h="auto">
<text text="关于软件" textStyle="bold" textColor="#222222" textSize="22sp" maxLines="1" />
</horizontal>
<card w="*" h="auto" margin="10 5" cardCornerRadius="2dp"
cardElevation="1dp" foreground="?selectableItemBackground">
<horizontal gravity="center_vertical">
<vertical padding="15 8" h="auto" w="auto" layout_weight="1">
<text id="about" text="" textColor="#222222" textSize="18sp" maxLines="10" />
</vertical>
</horizontal>
</card>
</vertical>
</ScrollView>
</frame>
</viewpager>
</vertical>
<vertical layout_gravity="left" bg="#ffffff" h="*" w="280">
<img w="280" h="200" scaleType="fitXY" src="http://images.shejidaren.com/wp-content/uploads/2014/10/023746fki.jpg" />
<list id="menu">
<horizontal bg="?selectableItemBackground" w="*">
<img w="50" h="50" padding="16" src="{{this.icon}}" tint="{{color}}" />
<text textColor="black" textSize="15sp" text="{{this.title}}" layout_gravity="center" />
</horizontal>
</list>
</vertical>
</drawer>
);
// storages.remove("config");
var config = storages.create("config");
var taobao = config.get("taobao", {
speed: 50,
list: [
{
id: "duihuan",
title: "是否开启兑换",
task: "去兑换",
color: "#e91e63",
done: true
},
{
id: "search",
title: "是否开启搜索",
task: "去搜索",
color: "#ab47bc",
done: true
},
{
id: "weiguan",
title: "是否开启围观",
task: "去围观",
color: "#5c6bc0",
done: true
},
{
id: "liulan",
title: "是否开启浏览",
task: "去浏览",
color: "#7e57c2",
done: true
}
]
});
var jd = config.get("jd", {
speed: 50,
goldTime: 20,
gold: false,
list: [
{
id: "jiagou",
title: "是否开启加购",
color: "#5c6bc0",
done: true
},
{
id: "auto",
title: "是否开启全自动",
color: "#7e57c2",
done: true
}
]
})
var helpText = '按下音量键上键即可关闭正在运行的脚本。\n\n手机性能以及网络情况错综复杂,自定义最适合自己的运行速度(1-100),作者建议一般情况使用50的增幅即可。\n\n勾选你需要的功能开关即可使用对应的自动化服务。\n\n淘宝目前需要手动打开活动页面。\n\n京东默认自带纠正,如果试用体验不好可以及时前往吾爱帖子下反馈。\n\n如果悬浮窗不显示可以检查是否给予app悬浮窗权限或者重启app。\n\n最后欢迎前往吾爱破解论坛搜索ZainCheung或者superBoyJack,在帖子下留言反馈。';
var questionText = '1.为什么app在打开京东后就没有反应了咋回事?\n答:在使用之前你需要先关掉京东的后台,确保app打开时是从首页进去的,而不是你的购物车页面或者商品页面。\n\n2.纠正功能为什么没有让我回到正确的页面?\n答:纠正功能主要是为了防止弹出窗口,以及浏览8秒商品的长时间等待期间误触而新增的,脚本正在加购或者快速浏览时请不要干扰它,它干起活来很专注(滑稽)。\n\n3.加购任务为什么执行完一次就回到桌面了?\n答:因为任务完成后执行了返回操作,然而系统给它指向了桌面,不过这些问题已经在新版本里解决了,纠正功能可以自动回到活动页面继续刷任务。需要注意的是回到桌面后大约会等待5秒左右才可以回去,这是因为在第二次纠正前还有五次第一次纠正,所以还烦请稍稍耐心等待一下,不要见没有回去以为出问题就草草关掉了。如果实在忍受不了加购的可以选择不勾选它的框框。\n\n4.单靠这个app可以完成所有的任务吗?\n答:除了京东的邀请好友助力,AR游戏以及淘宝的收菜等任务无法帮你完成,其他已经全部覆盖,目前京东可以做到一次打开,刷完所有非主观任务,最高可以做完50次不断开。\n\n5.为什么要用app而不是去调用接口一键完成所有任务?\n答:app运行的原理就是模拟你对屏幕的操作,这样JD和淘宝不能认为这是违规行为,如果是要通过调用接口挂多个号,,有黑号的风险,我觉得为了这个活动没必要冒这个风险。\n\n6.可以给多个账号刷任务么?\n答:可以。如果有应用分身可以不开启全自动,借助分身,然后app启动时会弹出选择分身。如果不用分身,在上一个账号做完所有任务后,切换到下一个账号,多个账号轮流切换,虽然稍有些麻烦,但比较保险。';
var aboutText = '618助手 v2.0.0\n\n软件仅供学习参考使用,切勿用于非法操作。\n\n软件代码全部免费开源,如有通过网上购买此软件可以要求退款。\n\n作者ZainCheung享有代码以及软件的最终解释权。';
ui.help.setText(helpText);
ui.question.setText(questionText);
ui.about.setText(aboutText);
// 淘宝配置项
ui.taobaoSpeed.setText(taobao.speed.toString());
ui.taobaoList.setDataSource(taobao.list);
ui.taobaoSpeed.addTextChangedListener({
afterTextChanged: (text) => {
var tbSpeed = Number(text);
if ((tbSpeed >= 1) && (tbSpeed <= 100)) {
taobao.speed = tbSpeed;
} else {
ui.taobaoSpeed.setError("请填写1-100的数字")
}
}
})
ui.taobaoList.on("item_bind", function (itemView, itemHolder) {
//绑定勾选框事件
itemView.done.on("check", function (checked) {
let item = itemHolder.item;
item.done = checked;
let paint = itemView.title.paint;
itemView.title.invalidate();
});
});
ui.taobaoList.on("item_click", function (item, i, itemView, listView) {
itemView.done.checked = !itemView.done.checked;
});
// 京东配置项
ui.jdSpeed.setText(jd.speed.toString());
ui.goldTime.setText(jd.goldTime.toString());
ui.jdList.setDataSource(jd.list);
ui.jdSpeed.addTextChangedListener({
afterTextChanged: (text) => {
var jdSpeed = Number(text);
if ((jdSpeed >= 1) && (jdSpeed <= 100)) {
jd.speed = jdSpeed;
} else {
ui.jdSpeed.setError("请填写1-100的数字")
}
}
})
ui.goldTime.addTextChangedListener({
afterTextChanged: (text) => {
var time = Number(text);
if ((time >= 1) && (time <= 50)) {
jd.goldTime = time;
} else {
ui.goldTime.setError("请填写1-50的数字")
}
}
})
ui.jdList.on("item_bind", function (itemView, itemHolder) {
//绑定勾选框事件
itemView.done.on("check", function (checked) {
let item = itemHolder.item;
item.done = checked;
let paint = itemView.title.paint;
itemView.title.invalidate();
});
});
ui.jdList.on("item_click", function (item, i, itemView, listView) {
itemView.done.checked = !itemView.done.checked;
});
//当离开本界面时保存
ui.emitter.on("pause", () => {
config.put("taobao", taobao);
config.put("jd", jd);
});
//创建选项菜单(右上角)
// ui.emitter.on("create_options_menu", menu => {
// menu.add("关于");
// });
//监听选项菜单点击
// ui.emitter.on("options_item_selected", (e, item) => {
// switch (item.getTitle()) {
// case "关于":
// alert("关于", "欢迎使用618助手v2.0.0");
// break;
// }
// e.consumed = true;
// });
activity.setSupportActionBar(ui.toolbar);
//设置滑动页面的标题
ui.viewpager.setTitles(["淘宝", "京东", "更多"]);
//让滑动页面和标签栏联动
ui.tabs.setupWithViewPager(ui.viewpager);
//让工具栏左上角可以打开侧拉菜单
ui.toolbar.setupWithDrawer(ui.drawer);
ui.menu.setDataSource([
{
title: "喜欢软件",
icon: "@drawable/ic_favorite_black_48dp"
},
{
title: "作者",
icon: "@drawable/ic_android_black_48dp"
},
{
title: "退出",
icon: "@drawable/ic_exit_to_app_black_48dp"
}
]);
ui.menu.on("item_click", item => {
switch (item.title) {
case "喜欢软件":
app.openUrl('https://www.52pojie.cn/thread-1186000-1-1.html');
break;
case "作者":
alert("作者", "ZainCheung");
break;
case "退出":
ui.finish();
break;
}
});
ui.gototb.click(function () {
threads.start(function () {
var i = 0;
var j = 0;
// 暂时去掉,'去收菜'
// var taskList = ['去兑换', '去搜索', '去围观', '去浏览'];
var taskList = [];
taobao.list.forEach(element => {
if(element.done){
taskList.push(element.task);
}
});
var speed = 100 - taobao.speed;
var height = device.height;
var width = device.width;
setScreenMetrics(width, height);
console.show();
auto.waitFor();
sleep(random(21, 31) * speed);
//打开活动页面
log("正在打开淘宝");
launch("com.taobao.taobao");
sleep(random(21, 31) * speed);
log("正在等待进入列车活动页面");
log("请手动点进列车活动页面")
// sleep(5000);
className("android.widget.Button").text("做任务,领喵币").waitFor()
sleep(random(21, 31) * speed);
if (!textContains("淘宝成就点").exists()) {
className("android.widget.Button").text("做任务,领喵币").findOne().click()
log("点击成功");
}
sleep(random(31, 41) * speed);
if (className("android.widget.Button").text("签到").exists()) {
className("android.widget.Button").text("签到").click()
sleep(random(201, 211));
log("签到成功");
} else { log("已签到"); }
sleep(random(31, 41) * speed);
taskList.forEach(task => {
while (textContains(task).exists()) {
log("开始做第" + (i + 1) + "次任务!");
var a = text(task).findOnce(j);
switch (task) {
case '去兑换':
log("开始兑换喵币");
sleep(random(11, 21) * speed);
a.click();
sleep(random(11, 21) * speed);
i++;
log("已完成兑换");
log("已完成第" + i + "次任务!");
break;
case '去收菜':
log("开始去收菜");
sleep(random(11, 21) * speed);
a.click();
sleep(random(11, 21) * speed);
textStartsWith("收3次作物").findOne(5000);
sleep(random(11, 21) * speed);
if (text("立即去收").exists()) {
text("立即去收").findOne().click();
}
sleep(random(11, 21) * speed);
for (var t = 0; t < 5; t++) {
try {
textContains("万").findOnce(t).click();
sleep(random(21, 41) * speed)
} catch (error) {
log("收菜出错了")
continue;
}
}
sleep(random(31, 41) * speed);
i++;
log("收完菜准备回去了")
log("已完成第" + i + "次任务!")
back();
break;
case '去搜索':
case '去围观':
case '去浏览':
sleep(random(11, 21) * speed);
a.click();
sleep(random(31, 41) * speed);
swipe(width / 2, height - 500, width / 2, 0, random(16, 18) * speed);
sleep(random(51, 61) * speed);
swipe(width / 2, height - 500, width / 2, 0, random(16, 18) * speed);
sleep(random(121, 131) * speed);
swipe(width / 2, height - 500, width / 2, 0, random(16, 18) * speed);
textContains("完成").findOne(random(201, 211) * speed);
i++;
log("已完成第" + i + "次任务!")
back();
break;
default:
log("default")
break;
}
sleep(random(41, 51) * speed);
}
});
console.info("任务貌似已经做完了\n如未完成,请重新运行");
});
});
ui.gotojd.click(function () {
threads.start(function () {
console.show();
auto.waitFor();
var jdAuto;
var taskList = ['8秒', '浏览5个', '浏览可得'];
var speed = 100 - jd.speed;
var i = 0;
var j = 0;
jd.list.forEach(element => {
switch (element.id) {
case 'jiagou':
if (element.done) {
taskList.push('去加购');
}
break;
case 'auto':
jdAuto = element.done;
break;
default:
break;
}
});
sleep(random(11, 21) * speed);
if (jdAuto) {
//打开活动页面
log("正在进入个人中心");
gotoJd(speed);
log("到达任务中心");
} else {
console.warn("请手动打开活动的任务列表")
textContains("任务每日0点刷新").waitFor()
sleep(random(21, 31) * speed);
log("到达任务中心");
}
//签到
sleep(random(11, 21) * speed);
if (text("去签到").exists()) {
text("去签到").findOne().click();
sleep(random(4, 9) * speed);
log("签到成功")
}
if (text("已签到").exists()) {
sleep(random(11, 21) * speed);
log("已签到")
} else {
text("签到").findOne().click();
sleep(random(11, 21) * speed);
log("签到成功")
}
sleep(random(31, 31) * speed);
while (1) {
var next = false;
var a = text("去完成").findOnce(j);
if (a != null) {
//获取父控件
var b = a.parent().parent().parent();
//获取第一个子控件
var c = b.child(0).child(1).text();
taskList.forEach(task => {
switch (task) {
case '8秒':
if (c.search(task) != -1) {
i++;
next = true;
log("开始执行8秒任务");
sleep(random(11, 15) * speed);
a.click();
sleep(random(101, 111) * speed);
textStartsWith("恭喜完成").findOne(8000);
sleep(random(4, 11) * speed);
back();
log("已完成第" + i + "次任务!");
sleep(random(41, 21) * speed);
j = 0;
}
break;
case '浏览5个':
if (c.search(task) != -1) {
i++;
next = true;
log("开始执行浏览5个商品任务");
sleep(random(11, 15) * speed);
a.click();
sleep(random(25, 31) * speed);
for (var t = 0; t < 5; t++) {
if (textContains("浏览以下").findOnce()) {
log("正在浏览第" + (t + 1) + "个商品!");
idContains("view_").findOnce(t).click();
sleep(random(32, 35) * speed)
back()
sleep(random(32, 35) * speed)
} else { }
}
textStartsWith("已完成").findOne(8000);
sleep(random(21, 31) * speed);
try {
// 点击左上角的返回键
id("fe").findOne().click();
} catch (error) {
back();
}
log("已完成第" + i + "次任务!");
sleep(random(41, 51) * speed);
j = 0;
}
break;
case '去加购':
if (c.search(task) != -1) {
i++;
next = true;
a.click();
log("开始执行加购任务");
sleep(random(21, 31) * speed);
for (var t = 0; t < 5; t++) {
//修复加购问题,删掉了.child(2)子节点
idContains("cart_").findOnce(t).click();
sleep(random(21, 31) * speed)
}
back();
log("已完成第" + i + "次任务!");
sleep(random(41, 51) * speed);
j = 0;
}
break;
case '浏览可得':
if (c.search(task) != -1) {
i++;
next = true;
a.click();
log("开始执行快速浏览任务");
sleep(random(21, 31) * speed);
sleep(random(11, 15) * speed);
back();
log("已完成第" + i + "次任务!");
sleep(random(41, 51) * speed);
j = 0;
}
break;
default:
break;
}
});
if (next) { j = 0; }
else { j++; }
} else {
correct();
}
}
// }
/**
* 纠正方法
*/
function correct() {
log("可能出了点问题,正在尝试第一次纠正");
for (let index = 0; index < 5; index++) {
back();
sleep(random(21, 31) * speed);
var d = text("去完成").findOnce(j);
if (d != null) {
return
}
}
if (d == null) {
log("正在尝试第二次纠正");
app.startActivity({
data: "openApp.jdMobile://virtual?params=%7B%22des%22%3A%22m%22%2C%22url%22%3A%22https%3A%2F%2Fbunearth.m.jd.com%2FbabelDiy%2FZeus%2F3xAU77DgiPoDvHdbXUZb95a7u71X%2Findex.html%22%2C%22category%22%3A%22jump%22%2C%22sourceType%22%3A%22JSHOP_SOURCE_TYPE%22%2C%22sourceValue%22%3A%22JSHOP_SOURCE_VALUE%22%2C%22M_sourceFrom%22%3A%22lkyl%22%2C%22msf_type%22%3A%22click%22%2C%22m_param%22%3A%7B%22m_source%22%3A%220%22%2C%22event_series%22%3A%7B%7D%2C%22jda%22%3A%22177095863.1664140455.1538579865.1572975960.1572979455.472%22%2C%22usc%22%3A%22androidapp%22%2C%22ucp%22%3A%22t_335139774%22%2C%22umd%22%3A%22appshare%22%2C%22utr%22%3A%22CopyURL%22%2C%22jdv%22%3A%22177095863%7Candroidapp%7Ct_335139774%7Cappshare%7CCopyURL%7C1572882675599%22%2C%22ref%22%3A%22https%3A%2F%2Fbunearth.m.jd.com%2FbabelDiy%2FZeus%2F3xAU77DgiPoDvHdbXUZb95a7u71X%2Findex.html%22%2C%22psn%22%3A%221664140455%7C472%22%2C%22psq%22%3A5%2C%22pc_source%22%3A%22%22%2C%22mba_muid%22%3A%221664140455%22%2C%22mba_sid%22%3A%221572979455588510925986537476%22%2C%22std%22%3A%22MO-J2011-1%22%2C%22par%22%3A%22%22%2C%22event_id%22%3A%22Mnpm_ComponentApplied%22%2C%22mt_xid%22%3A%22%22%2C%22mt_subsite%22%3A%22%22%7D%2C%22SE%22%3A%7B%22mt_subsite%22%3A%22%22%2C%22__jdv%22%3A%22177095863%7Candroidapp%7Ct_335139774%7Cappshare%7CCopyURL%7C1572882675599%22%2C%22__jda%22%3A%22177095863.1664140455.1538579865.1572975960.1572979455.472%22%7D%7D",
});
log("进入个人中心");
sleep(random(21, 31) * speed);
className("android.view.View").text("做任务领金币").waitFor();
sleep(random(21, 31) * speed);
if (!textContains("任务每日0点刷新").exists()) {
className("android.view.View").text("做任务领金币").findOne().parent().click()
}
textContains("任务每日0点刷新").waitFor()
sleep(random(21, 31) * speed);
var e = text("去完成").findOnce(j);
if (e == null) {
console.info("貌似没有任务了,脚本退出\n如未完成,请重新运行");
exit();
}
}
}
/**
* 打开京东App并跳转到任务栏
*/
function gotoJd() {
app.startActivity({
data: "openApp.jdMobile://virtual?params=%7B%22des%22%3A%22m%22%2C%22url%22%3A%22https%3A%2F%2Fbunearth.m.jd.com%2FbabelDiy%2FZeus%2F3xAU77DgiPoDvHdbXUZb95a7u71X%2Findex.html%22%2C%22category%22%3A%22jump%22%2C%22sourceType%22%3A%22JSHOP_SOURCE_TYPE%22%2C%22sourceValue%22%3A%22JSHOP_SOURCE_VALUE%22%2C%22M_sourceFrom%22%3A%22lkyl%22%2C%22msf_type%22%3A%22click%22%2C%22m_param%22%3A%7B%22m_source%22%3A%220%22%2C%22event_series%22%3A%7B%7D%2C%22jda%22%3A%22177095863.1664140455.1538579865.1572975960.1572979455.472%22%2C%22usc%22%3A%22androidapp%22%2C%22ucp%22%3A%22t_335139774%22%2C%22umd%22%3A%22appshare%22%2C%22utr%22%3A%22CopyURL%22%2C%22jdv%22%3A%22177095863%7Candroidapp%7Ct_335139774%7Cappshare%7CCopyURL%7C1572882675599%22%2C%22ref%22%3A%22https%3A%2F%2Fbunearth.m.jd.com%2FbabelDiy%2FZeus%2F3xAU77DgiPoDvHdbXUZb95a7u71X%2Findex.html%22%2C%22psn%22%3A%221664140455%7C472%22%2C%22psq%22%3A5%2C%22pc_source%22%3A%22%22%2C%22mba_muid%22%3A%221664140455%22%2C%22mba_sid%22%3A%221572979455588510925986537476%22%2C%22std%22%3A%22MO-J2011-1%22%2C%22par%22%3A%22%22%2C%22event_id%22%3A%22Mnpm_ComponentApplied%22%2C%22mt_xid%22%3A%22%22%2C%22mt_subsite%22%3A%22%22%7D%2C%22SE%22%3A%7B%22mt_subsite%22%3A%22%22%2C%22__jdv%22%3A%22177095863%7Candroidapp%7Ct_335139774%7Cappshare%7CCopyURL%7C1572882675599%22%2C%22__jda%22%3A%22177095863.1664140455.1538579865.1572975960.1572979455.472%22%7D%7D",
});
sleep(random(21, 31) * speed);
className("android.view.View").text("做任务领金币").waitFor();
sleep(random(21, 31) * speed);
if (!textContains("任务每日0点刷新").exists()) {
className("android.view.View").text("做任务领金币").findOne().parent().click()
}
textContains("任务每日0点刷新").waitFor()
sleep(random(21, 31) * speed);
}
});
});
ui.gotojdGold.click(function () {
threads.start(function () {
console.show();
auto.waitFor();
var jdAuto = true;
var speed = 100 - jd.speed;
jd.list.forEach(element => {
switch (element.id) {
case 'auto':
jdAuto = element.done;
break;
default:
break;
}
});
if(jdAuto){
//打开活动页面
log("正在进入个人中心");
app.startActivity({
data: "openApp.jdMobile://virtual?params=%7B%22des%22%3A%22m%22%2C%22url%22%3A%22https%3A%2F%2Fbunearth.m.jd.com%2FbabelDiy%2FZeus%2F3xAU77DgiPoDvHdbXUZb95a7u71X%2Findex.html%22%2C%22category%22%3A%22jump%22%2C%22sourceType%22%3A%22JSHOP_SOURCE_TYPE%22%2C%22sourceValue%22%3A%22JSHOP_SOURCE_VALUE%22%2C%22M_sourceFrom%22%3A%22lkyl%22%2C%22msf_type%22%3A%22click%22%2C%22m_param%22%3A%7B%22m_source%22%3A%220%22%2C%22event_series%22%3A%7B%7D%2C%22jda%22%3A%22177095863.1664140455.1538579865.1572975960.1572979455.472%22%2C%22usc%22%3A%22androidapp%22%2C%22ucp%22%3A%22t_335139774%22%2C%22umd%22%3A%22appshare%22%2C%22utr%22%3A%22CopyURL%22%2C%22jdv%22%3A%22177095863%7Candroidapp%7Ct_335139774%7Cappshare%7CCopyURL%7C1572882675599%22%2C%22ref%22%3A%22https%3A%2F%2Fbunearth.m.jd.com%2FbabelDiy%2FZeus%2F3xAU77DgiPoDvHdbXUZb95a7u71X%2Findex.html%22%2C%22psn%22%3A%221664140455%7C472%22%2C%22psq%22%3A5%2C%22pc_source%22%3A%22%22%2C%22mba_muid%22%3A%221664140455%22%2C%22mba_sid%22%3A%221572979455588510925986537476%22%2C%22std%22%3A%22MO-J2011-1%22%2C%22par%22%3A%22%22%2C%22event_id%22%3A%22Mnpm_ComponentApplied%22%2C%22mt_xid%22%3A%22%22%2C%22mt_subsite%22%3A%22%22%7D%2C%22SE%22%3A%7B%22mt_subsite%22%3A%22%22%2C%22__jdv%22%3A%22177095863%7Candroidapp%7Ct_335139774%7Cappshare%7CCopyURL%7C1572882675599%22%2C%22__jda%22%3A%22177095863.1664140455.1538579865.1572975960.1572979455.472%22%7D%7D",
});
sleep(1000);
}else{console.warn("请手动打开活动的小金人页面")}
className("android.view.View").text("做任务领金币").waitFor();
log("到达个人中心");
sleep(1000);
var x;
var y;
var count = 1;
if (!textContains("点我得金币").exists()) {
console.warn("请确保页面上存在小金人且有'点我得金币'等字样!!")
textContains("点我得金币").waitFor();
}
var g = textContains("点我得金币").findOne();
x = g.bounds().centerX();
y = g.bounds().centerY();
log("小金人位置获取成功!");
while(count <= jd.goldTime){
for(var i = 0;i<5;i++){
click(x,y);
sleep(200);
}
log("第" + count + "次任务已完成");
sleep(random(121, 131) * speed);
count ++;
}
log("小金人任务成功!");
return
});
});
}
//启用按键监听
events.observeKey();
//监听音量上键按下
events.onKeyDown("volume_up", function (event) {
threads.shutDownAll();
console.clear();
console.hide();
toast("任务停止");
});
代码下载地址:https://ruanmu.lanzous.com/iT7pmdc0ddg
auto.js下载地址:https://ruanmu.lanzous.com/iGevEdc0dpi
qq交流群:749717825