前言: 學習了一段時間的auto.js,這裏來做一個基於auto.js的簡單淘寶搶購腳本(大佬勿噴)
環境:auto.js4.1.1、打包插件4.1.1、安卓10、榮耀10、mt管理器
CODE:
"ui";
var color = "#FFB6C1";
ui.layout(
// 抽屜佈局,左邊那個抽屜
<drawer id="drawer">
<vertical>
// 頁面的頭部文件
<appbar>
<toolbar id="toolbar" title="淘寶搶購軟件1.0"/>
// 暫時不理解這句話
<tabs id="tabs"/>
</appbar>
// 輸入框,用於使用戶需要搶購的商品時間
<text textSize="16sp" textColor="red" text="請輸入搶購時間,格式爲2020/3/27 20:00:00"/>
<input id="name"/>
<button id="open" text="打開無障礙服務(使用軟件前請開啓)" textSize="26sp"/>
<button id="ok" text="開始搶購" textSize="36sp"/>
</vertical>
// 左側欄,點三個橫槓會出現的那個東西
<vertical layout_gravity="left" bg="#FFB6C1" 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>
);
// 創建選項菜單(右上角)
ui.emitter.on("create_options_menu", menu=>{
menu.add("設置");
menu.add("關於");
});
// 監聽選項菜單點擊(右上角)
ui.emitter.on("options_item_selected", (e, item)=>{
switch(item.getTitle()){
case "設置":
alert("提示", "還沒有完善設置功能,請期待");
break;
case "關於":
alert("關於", "作者:TAF_MT");
break;
}
e.consumed = true;
});
activity.setSupportActionBar(ui.toolbar);
// 讓工具欄左上角可以打開側拉菜單
ui.toolbar.setupWithDrawer(ui.drawer);
// 設置左側欄圖標及文字
ui.menu.setDataSource([
{
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 "退出":
ui.finish();
break;
}
})
// 打開無障礙服務的功能,這裏會報錯,但是錯誤並不影響程序的運行
ui.open.click(function(){
auto();
})
// 調用搶購的腳本
ui.ok.click(function(){
toast("程序將自動跳轉到淘寶的購物車界面,請手動在購物車勾選一個需要搶購的商品");
// 跳轉到購物車界面,並且點擊購物車
function open(){
launchApp("手機淘寶");
car = desc("購物車").findOne();
car.click();
Panic_buy();
}
// 定時搶購功能
function Panic_buy(){
while(true){
// 獲取本地時間
var nowTime=new Date();
// 設置的目標時間
time=ui.name.getText();
targetTime=new Date(time);
var spanTime=targetTime-nowTime;
// 如果到了時間,調用pay方法,進行搶購
if(spanTime<=0){
log(nowTime);
pay();
break;
}
}
}
// 點擊結算的按鈕,需要注意的是這裏只能勾選一個商品。如果要勾選兩個商品就 "結算(2)",以此類推
function pay(){
click("結算(1)");
}
// 程序的入口
open();
})
成果:
安裝包地址:https://taf-mt.lanzous.com/icz295i
PS:
- 打包完的app會報毒,通過mt管理器把app進行重新簽名可以解決此問題。
- 該軟件運行後會直接打開手機淘寶,跳轉到購物車界面,用戶在購物車只能勾選一件商品。
- 在軟件界面打開無障礙服務的時候會報錯,這個錯誤是不用管的,不會影響軟件的正常運行。