getDates(d,t=0){varcurDate=newDate(d.replace(/-/g,'/'))
varcurMonth=curDate.getMonth()
curDate.setMonth(curMonth+t+1)
curDate.setDate(0)
varcurDates=newArray(curDate.getDate()).fill(0).map((item,key)=>{
returnkey+1})
returncurDates}
AutoJS是一款新的手机脚本开发工具,开发语言是JS,开发门槛低,做过网站开发的都会写JS。系统目前只支持安卓7.0以上的版本,IOS不能使用。他的主要工作原理是使用无障碍服务,获取APP的控件信息,包括控件的:类名、包名、id、文本、描述等。
/**
* 3元起提,没有限制,只要求手机验证码
*/
const perVideoWatchTime=8//每隔视频观看10秒
const halfDeviceHeight=device.height/2
const halfDeviceWidth=device.width/2
const videoSwipeDistance=halfDeviceHeight-100//视频下滑的长度 px
// test()
onlyRun()
//只允许本脚本时,将上行解除注释
function onlyRun(){
auto()
console.show()
log("开始快手极速版")
images.requestScreenCapture(false)
log("已获得截屏权限")
let totalTime=2*60*60 //刷2小时
run(totalTime)
}
function test(){
auto()
console.show()
log("开始快手极速测试")
images.requestScreenCapture(false)
log("已获得截屏权限")
click("我知道了")
exit()
}
var kuaiShou = {}
kuaiShou.main = function (totalTime) {
run(totalTime)
}
module.exports = kuaiShou
function run(totalTime){
log("计划时长:"+totalTime)
//启动快手极速版
launchApp()
let watchTime=0
for(let i=1totalTime>watchTimei++){
if(text("拖动滑块").findOnce()){
log("出现验证码,结束")
runOver()
break
}
let waitTime=perVideoWatchTime+random(-4,4)
log("本视频观看时长"+waitTime)
sleep(waitTime/2*1000)
likeAndfollow(7)
sleep(waitTime/2*1000)
watchTime+=waitTime
log("已看:"+i+"个视频 "+watchTime+"秒")
swipeVideo(i)
}
}
function launchApp(){
let isLauchApp=false
while(!isLauchApp){
log("尝试启动")
launchPackage("com.kuaishou.nebula")
sleep(10000)
let mesbox=id("com.kuaishou.nebula:id/a4v").findOnce()
if(mesbox){
mesbox.click()
}
mesbox=id("com.kuaishou.nebula:id/close").findOnce()
if(mesbox){
mesbox.click()
}
mesbox=text("我知道了").findOnce()
if(mesbox){
mesbox.click()
}
isLauchApp=id("com.kuaishou.nebula:id/circular_progress_bar").findOnce()
}
log("已启动")
}
//swipeCount,滑动视频的次数
function swipeVideo(swipeCount){
let offset=random(-100,0)
if(swipeCount%6==0){
// 双数的第6次下滑
swipe(halfDeviceWidth-random(-50,50), halfDeviceHeight+offset+(videoSwipeDistance/2),
halfDeviceWidth+random(-50,50), halfDeviceHeight+offset-(videoSwipeDistance/2), 30)
}else if(swipeCount%2==0){
//双数次上滑
swipe(halfDeviceWidth+random(-50,50), halfDeviceHeight+offset,
halfDeviceWidth+random(-50,50), halfDeviceHeight+offset+(videoSwipeDistance/2), 30)
}else {
//单数下滑
swipe(halfDeviceWidth-random(-50,50), halfDeviceHeight+offset+(videoSwipeDistance/2),
halfDeviceWidth+random(-50,50), halfDeviceHeight+offset-(videoSwipeDistance/2), 30)
}
}
//有range*2+1分之一的概率点喜欢,range*4+1分之一的概率点关注,关注必定喜欢
function likeAndfollow(range){
let isLike=random(-1*range,range)
if(isLike==0){
if(id('com.kuaishou.nebula:id/like_icon').findOnce()){
var ddd = id('com.kuaishou.nebula:id/like_icon').findOne().bounds()
click(1000,1300)
sleep(1000)
}
else{
log('不存在')
}
// click(halfDeviceWidth,halfDeviceHeight)
// sleep(50)
// click(halfDeviceWidth,halfDeviceHeight)
let isFollow=random(-1*range,range)
if(isFollow==0){
text("关注").click()
log("点了关注")
}else{
log("不是点关注的概率:"+isFollow)
}
}else{
log("不是点喜欢的概率:"+isLike)
}
}
//是否已经不再有收益了
function isNoIncome(){
let isIncome=findIncomeIcon()
if(!isIncome){
sleep(6000)
isIncome=findIncomeIcon()
if(!isIncome){
log("等待6秒,不见收益红包")
return false
}
}
log("正在收益中")
return true
}
//查找收入红包的图标,是收益中的返回true 否则返回false
function findIncomeIcon(){
let redBag=id(" com.kuaishou.nebula:id/circular_progress_bar").findOnce()
if(redBag){
let redBagBounds=redBag.bounds()
let screen=images.captureScreen()
// log(redBagBounds)
let p=images.findColorEquals(screen,"#f85050",redBagBounds.left,redBagBounds.top,redBagBounds.width(),redBagBounds.height())
return p?true:false
}
return false
}
function runOver(){
home()
}