//刷宝

var myApp ={};

myApp.currentRunNum = 0;//当前运行数量

myApp.maxRunNum = 3;//运行次数

myApp.minRunTime = 20;//分钟

myApp.maxRunTime = 25;//最大运行时间

myApp.startTime = null;

myApp.appPackage = "com.jm.video";

myApp.homeActivity = "com.jm.video.ui.main.MainActivity";

myApp.ocr={};

isRoot = false;

myApp.moveMaxY = (device.height-300);//滑动的最大y值

//时间差 ,返回分钟

function timeDeffToSecond(start,end){

var c = end.getTime()-start.getTime();

return c/(60*1000);

}

//判断是否root

function whetherRoot() {

threads.start(function () {

log('判断是否root')

try {

click(2000, 2000)

isRoot = false

log('未root')

} catch (error) {

isRoot = true

log(error)

log('已root')

}

})

}

/**

* 点击

* @param {*} x

* @param {*} y

*/

function onClick(x, y) {

if (isRoot == true) {

Tap(x, y)

} else {

click(x, y)

}

}

/**

* 控件查找并点击

* @param {控件查找类型} way

* @param {查找字符} str

* @param { 查找时间} sleepTime

*/

function clickNode(way, str, sleepTime) {

if (!sleepTime) {

sleepTime = 1000

}

let result = false //点击结果

let object;

if (way == "text") {

object = text(str).findOne(sleepTime);

} else if (way == "desc") {

object = desc(str).findOne(sleepTime);

} else if (way == "id") {

object = id(str).findOne(sleepTime);

} else if (way == "className") {

object = className(str).findOne(sleepTime);

} else {

log("Error:clickNode-way参数不正确")

}

if (object != null) {

if (object.clickable()) {

result = object.click();

result && sleep(sleepTime);

// if (result) {

//     sleep(sleepTime);

// }

} else {

//log("Error:clickNode-组件不可点击")

let x = object.bounds().centerX();

let y = object.bounds().centerY();

log(str)

console.log(x+","+y);

if (x > 0 && y > 0) {

result = click(parseInt(x), parseInt(y));

} else {

log("Error:clickNodeR-中心点坐标不在可视区")

}

result && sleep(sleepTime);

}

} else {

// log("Error:clickNode-组件不存在/没找到")

}

return result;

};

//关闭按钮 针对x按钮 无id, 无标记的情况

function imgClose(findColor){

log("开始关闭 X 控件");

sleep(1000);

var img = captureScreen();

var p = findMultiColors(img, findColor, [[10, 10, findColor], [10, -10, findColor],[-10, -10, findColor],[-10, 10, findColor]]);

console.log(p);

if(p){

// var top = images.pixel(img, p.x,p.y-5);//y正半轴

// var bottom = images.pixel(img, p.x,p.y+5);//y负半轴

// var right = images.pixel(img, p.x+5,p.y);//x正半轴

// var left = images.pixel(img, p.x-5,p.y);//x正负轴

// log(top);

// log(bottom);

// log(right);

// log(left);

click(p.x,p.y);

sleep(1000);

log("关闭成功");

}else{

className("android.widget.ImageView").find().forEach(function(currentValue, index) {

if(currentValue.clickable()){

currentValue.click();

}

});

}

}

//申请提现

function sqTX() {

if (clickNode("text","立即提现",2000)) {

if (clickNode("text","我知道了",2000)) {

if (clickNode("text","提现详情",1000)) {

return true;

}

}else {

if (clickNode("text","提现详情",1000)) {

return true;

}

}

}

return false;

}

//开始提现

function startTX() {

if (clickNode("text","提现",2000)) {

if (clickNode("text","立即提现",2000)) {

swipe(random(300,400),device.height-random(300, 400),400,random(200, 300),random(1000,1500));

if (text("今日已提现").exists()) {

return false;

}

log("===========>>>");

log(text("¥10.00元").exists());

ui.run(function(){

toastLog("====>>>");

})

if (clickNode("text","¥10.00元",2000)) {

if(sqTX()){

return true;

}

}

if (clickNode("text","¥3.00元",2000)) {

if(sqTX()){

return true;

}

}

if (clickNode("text","¥0.3元",2000)) {

if(sqTX()){

return true;

}

}

log("22222222");

sleep(2000);

back();

}

sleep(2000);

back();

}

}

//关闭签到弹框

function  closeQDDialog() {

if (clickNode("id","imgClose",2000)) {

log("---->> 立即签到");

if(clickNode("text","立即签到",2000)){

imgClose("#998980");

}

}else{

log("---->> 立即签到");

if(clickNode("text","立即签到",2000)){

imgClose("#998980");

}

}

}

//打开首页

function openSY() {

clickNode("text","首页",2000);

}

//签到 imgClose

function qd() {

if (clickNode("text","任务",2000)) {

//closeQDDialog();

sleep(3000);

closeQDDialog();

sleep(1000);

} else if(clickNode("text","福利",2000)){

sleep(3000);

closeQDDialog();

sleep(1000);

}

else

if(id("ll_tap").depth(10).exists()){

var b = id("ll_tap").depth(10).findOne();

if (b.centerX()>0&&b.centerY()>0) {

onClick(b.centerX(),b.centerY());

sleep(2000);

closeQDDialog();

sleep(1000);

}

}

}

function jsMaxMoveY(){

if(id("portait").exists()){

let b = id("portait").findOne().bounds();

if(b.bottom>0){

myApp.moveMaxY = b.botto;

}

}else{

if(text("首页").exists()){

let b = text("首页").findOne().bounds();

if(b.bottom>0){

myApp.moveMaxY = b.top-100;

}

}

}

}

myApp.start = function (runNum){

console.log("--------==>"+"运行刷宝短视频");

if(runNum>myApp.maxRunNum){

return;

}

sleep(3000);

myApp.startTime = new Date();

sleep(3000);

if(launchApp("刷宝短视频")){

waitForActivity(myApp.homeActivity);

sleep(5000);

qd();

startTX();

// whetherRoot();

// log("---->"+runNum);

// // if(runNum==1){

// //     sleep(random(5000, 10000));

// //     qd();

// //     openRW();

// //     openTX();

// //     onTX();

// // }

openSY();

log("width:"+device.width);

while(true){

sleep(random(8000, 16000));

if(id("live_top_users").exists()||id("btn_active").exists()||id("btn_gift").exists()){

swipe(device.width - random(400,700),device.height-random(0, 100),device.width - random(300, 400),random(100, 300),random(500,1000));

}

// qd();

swipe(device.width - random(300,400),myApp.moveMaxY-random(0, 100),device.width - random(400, 700),random(100, 200),random(500,1000));

log("-------->时间:"+timeDeffToSecond( myApp.startTime,new Date()))

if(timeDeffToSecond( myApp.startTime,new Date())>(random(myApp.minRunTime,myApp.maxRunTime))){

return;

}

}

}

}

module.exports = myApp;

感兴趣的一起交流,

用庖丁加密试了几次都不成功;头疼!!!

autojs 自阅 刷宝短视频 脚本源码相关推荐

  1. autojs写脚本:天启app脚本源码

    autojs写脚本:天启app脚本源码 个人保存而已. 源码中涉及到广告关闭.控件点击等函数.自己使用的. 需要的话需付费.不免费. 如果真有心,想学,源码中的编写脚本的逻辑等完全够用. var 日常 ...

  2. AutoJs实战教程---刷宝短视频

  3. 刷宝短视频Auto.js挂机源码讲解

    今天给大家分享一个刷宝短视频自动挂机脚本Auto.js源码,如果你对Auto.js不甚了解,希望你能通过阅读下面的源码后,对编写一个简单的Auto.js有所帮助.如果你在脚本编写过程中遇到困难,可以加 ...

  4. Auto.js抖音极速版、快手极速版,刷宝短视频、火山极速版自动刷看

    介绍 脚本能够实现抖音极速版.快手极速版,刷宝短视频.火山极速版.趣看看App的自动刷看.脚本布置在手机上后会自动刷看,为防止被封,我设置几个app循环刷看,其中趣看看能实现文章自动检测广告,跳过广告 ...

  5. 微信程序短视频去水印源码 开源产品未加密未授权相关文章

    微信程序短视频去水印源码 开源产品未加密未授权相关文章 看到咸鱼上还有人卖这套源码,所以就把这套源码 免费分享出来 开源产品,未加密未授权,可调用别人的接口和自己的接口. PS:源码仅供技术学习参考, ...

  6. 原生Java高仿抖音短视频APP双端源码

    简介: 从别的网站199购买的原生Java高仿抖音短视频APP双端源码,免费给大家~ 源码未测试,java开发,上手有难度,小白童鞋请勿瞎捣鼓. 安卓语言是:android stdio 苹果语言是:O ...

  7. bat脚本保存dir结果_Tomcat的启停脚本源码解析

    作者 | 程序员自由之路 来源 | cnblogs.com/54chensongxia/p/13234398.html Tomcat的启停脚本源码解析 Tomcat是一款我们平时开发过程中最常用到的S ...

  8. 官方教程之短视频app源码接入openinstall实现免填邀请码功能

    短视频app源码在上线后,为了实现大规模推广,会开发用户邀请的功能.用户邀请新用户进行注册,建立上下级关系后,邀请用户可以获得短视频app源码的奖励.为了防止新用户注册后,不填写邀请码,短视频app源 ...

  9. 短视频app源码开发,短视频录制的实现

    原理说明 利用SurfaceView预览视频 利用系统自带的MediaRecorder实现短视频app源码中短视频视频的录制 实例化 设置音频输入 设置输出格式 设置视频编码格式 设置输出路径 调用p ...

最新文章

  1. RHEL6.3 DNS高级技术二 通过DNS主从区域复制实现DNS View负载均衡和冗余备份
  2. Tensorflow【实战Google深度学习框架】—Logistic regression逻辑回归模型实例讲解
  3. DCMTK:OFStandard中“转换为标记”代码的测试程序
  4. 如何成为一名优秀的程序员?
  5. 论文浅尝 | Wordly Wise(WoW) - 用于语音视觉知识问答的跨语言知识融合模型
  6. 华为 HarmonyOS2.0(鸿蒙OS) 开发者beta公测招募的报名流程
  7. 创建局域网内远程git仓库,并将本地仓库push推到远程仓库中
  8. 【首度披露】乐视电商云的整体架构与技术实现
  9. 华为手机root过程
  10. 将一个网页设置为屏保
  11. php快递按选择次数排序,php快递接口查询api 不限制次数
  12. python数据分析——简单且有用的代码
  13. 正在考虑写一本书《中国有所没有围墙的大学,影响了世界几千年》第一章请给个反响...
  14. 在C语言中使用bool
  15. Python实现电报加密(字母后移一位)
  16. 51Nod1123 X^A Mod B 数论 中国剩余定理 原根 BSGS
  17. 《数字图像处理》冈萨雷斯版 读书笔记(二)
  18. SQL-SERVER的STUFF函数group by 分组,字符串合并
  19. hdf5格式的matlab读写操作
  20. 苹果Mac怎样让输入法实现自动切换?

热门文章

  1. linux代码之LL/SC/LSE 及锁指令
  2. 汇编:CPU结构 - FLAG标志寄存器和相关指令
  3. 实验操作:Squid代理服务器应用(传统代理透明代理)--------------------------------------就整吧
  4. 计算机网络-数据传输
  5. 武士数独求解思路+代码实现(部分)
  6. 第一课:路由器宽带拨号入网(小米路由器)
  7. Java实现基于国密SM2、SM4生成证书密钥进行字串的加解密
  8. 三维坐标变换(旋转矩阵旋转向量)
  9. type-cmd命令批量合并txt文件-乱码-编码转换问题
  10. 天气爬虫网站(flask+sqlite3+selenium+echarts)