自动化的抖音

文件命名 main.js

javascript 复制代码
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 也是试图 文件

javascript 复制代码
// 创建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
};
相关推荐
子兮曰几秒前
Bun v1.3.11 官方更新全整理:新增功能、关键修复与升级验证
javascript·node.js·bun
Setsuna_F_Seiei10 分钟前
AI 对话应用之页面滚动交互的实现
前端·javascript·ai编程
xuxie9915 分钟前
N11 ARM-irq
java·开发语言
wefly20171 小时前
从使用到原理,深度解析m3u8live.cn—— 基于 HLS.js 的 M3U8 在线播放器实现
java·开发语言·前端·javascript·ecmascript·php·m3u8
luanma1509801 小时前
PHP vs C++:编程语言终极对决
开发语言·c++·php
寂静or沉默1 小时前
2026最新Java岗位从P5-P7的成长面试进阶资源分享!
java·开发语言·面试
kyriewen112 小时前
给浏览器画个圈:CSS contain 如何让页面从“卡成PPT”变“丝滑如德芙”
开发语言·前端·javascript·css·chrome·typescript·ecmascript
英俊潇洒美少年2 小时前
react19和vue3的优缺点 对比
前端·javascript·vue.js·react.js
娇娇yyyyyy3 小时前
QT编程(18): Qt QItemSelectionModel介绍
开发语言·qt
豆豆的java之旅3 小时前
软考中级软件设计师 数据结构详细知识点(含真题+练习题,可直接复习)
java·开发语言·数据结构