当前位置: 首页 > article >正文

自动化的抖音

文件命名 main.js
 

var uiModule = require("ui_module.js");
if (!auto.service) {toast("请开启无障碍服务");auto.waitFor();}
var isRunning = true;
var swipeCount = 0;
var targetSwipeCount = random(1, 10);
var window = uiModule.createUI();
uiModule.setTargetSwipeCount(window, targetSwipeCount);
window.stop.click(() => (isRunning = false));
function updateTimer(seconds) {
  uiModule.updateTimer(window, seconds);
}
function checkForText() {
  return textContains("点击进入直播间").findOne(1000) != null;
}
threads.start(function () {
  var width = device.width;
  var height = device.height;
  toast("3秒后启动应用");
  sleep(3000);
  launchApp("测试");
  sleep(2000);
  while (isRunning) {
    swipeCount = 0;
    targetSwipeCount = random(1, 10);
    uiModule.setTargetSwipeCount(window, targetSwipeCount);
    for (var i = 0; i < targetSwipeCount && isRunning; i++) {
      if (!isRunning) break;
      swipe(width / 2, height * 0.8, width / 2, height * 0.2, 500);
      swipeCount++;
      uiModule.setSwipeCount(window, swipeCount);
      var randomWait = random(1, 10);
      toast("等待: " + randomWait + "秒后继续滑动");
      uiModule.setRandomWait(window, randomWait);
      for (var j = randomWait; j > 0 && isRunning; j--) {
        updateTimer(j);
        sleep(1000);
      }
      if (!isRunning) break;
    }
    if (!isRunning) break;
    if (checkForText()) {
      toast("发现'点击进入直播间',执行滑动");
      swipe(width / 2, height * 0.8, width / 2, height * 0.2, 500);
    } else {
      var randomWait = random(1, 10);
      toast("未发现特定文字,等待: " + randomWait + "秒后执行双击");
      uiModule.setRandomWait(window, randomWait);
      for (var j = randomWait; j > 0 && isRunning; j--) {
        updateTimer(j);
        sleep(1000);
      }
      click(width / 2, height / 2);
      sleep(100);
      click(width / 2, height / 2);
    }
    updateTimer(0);
    sleep(2000);
  }
  window.close();
  toast("脚本已停止");
});

第二个文件ui_module.js   也是试图 文件 

// 创建UI
function createUI() {
    var window = floaty.window(
        <frame>
            <vertical>
                <button id="stop" text="停止" w="120" h="40" bg="#ff0000" />
                <text id="timer" text="等待: 0s" textSize="14sp" textColor="#ffffff" />
                <text id="targetSwipeCountText" text="目标滑动次数: 0" textSize="14sp" textColor="#ffffff"/>
                <text id="swipeCountText" text="当前滑动次数: 0" textSize="14sp" textColor="#ffffff"/>
                <text id="randomWaitText" text="随机等待时间: 0s" textSize="14sp" textColor="#ffffff"/>
            </vertical>
        </frame>
    );
    window.setPosition(100, 100);  // 设置浮动窗口位置
    return window;
}

// 更新目标滑动次数
function setTargetSwipeCount(window, targetSwipeCount) {
    ui.run(() => {
        window.targetSwipeCountText.setText("滑动: " + targetSwipeCount+ '次开始点赞');
    });
}

// 更新当前滑动次数
function setSwipeCount(window, swipeCount) {
    ui.run(() => {
        window.swipeCountText.setText("当前滑动次数: " + swipeCount + '次');
    });
}

// 更新随机等待时间
function setRandomWait(window, randomWait) {
    ui.run(() => {
        window.randomWaitText.setText("随机等待时间: " + randomWait + "秒");
    });
}

// 更新倒计时
function updateTimer(window, seconds) {
    ui.run(() => {
        window.timer.setText("等待: " + seconds + "s");
    });
}

// 导出模块函数
module.exports = {
    createUI: createUI,
    setTargetSwipeCount: setTargetSwipeCount,
    setSwipeCount: setSwipeCount,
    setRandomWait: setRandomWait,
    updateTimer: updateTimer
};


http://www.kler.cn/news/342829.html

相关文章:

  • 算法:反转链表
  • Colorize: 0 variables Colorize is not activated for this file. VsCode
  • 【GeekBand】C++设计模式笔记7_Bridge_桥接模式
  • 惠普电脑怎么开启vt_惠普电脑开启vt虚拟化图文教程(支持新旧bios开启方法)
  • DNS 反向解析导致 ssh 连接缓慢
  • 实战交易策略 篇九:均线止盈策略
  • 计算机视觉之OpenCV vs YOLO
  • 什么是快充协议、支持多协议的USB Type-C受电端取电芯片
  • ARM base instruction -- movn
  • 基于SSM框架和Layui的学院课程安排系统的设计与实现(源码+定制+定制)
  • 【git】如何生成SSH key用于无需账号登录git仓库推送(需要令牌的问题)
  • JAVA的ArrayList 和 LinkedList的区别
  • 基于Python的摄影平台交流系统
  • MATLAB与R语言在建模中的合作与应用(上篇)
  • 跨境网络专线SD-WAN:跨境电商网络问题的解决方案
  • 编程的魅力
  • C#中,虚方法(virtual) 和 抽象方法(abstract)的应用说明
  • QT知识点
  • tp8自带的文件缓存如何配置
  • 计算机专业有哪些必修课程推荐?