YYPOST群发软件 发表于 2025-9-16 10:05:10

AIWROK苹果IOS线条类[Line]复杂示例




// 复杂应用控制器示例
// 这个示例展示如何创建一个多标签页的应用控制器,结合UI界面和HID设备操作功能

// 1. 创建TabView作为主界面容器
var mainTabView = new TabView();

// 2. 设置标签页标题
mainTabView.setTitles(["应用管理", "控制器", "自动化脚本", "设置"]);

// 3. 显示TabView并加载各标签页内容
mainTabView.show(() => {
    printl("复杂应用控制器已启动");
   
    // 加载各标签页内容
    mainTabView.addView(0, createAppManagerView());// 应用管理
    mainTabView.addView(1, createControllerView());   // 控制器
    mainTabView.addView(2, createAutomationView());   // 自动化脚本
    mainTabView.addView(3, createSettingsView());   // 设置
   
    printl("所有标签页内容已加载完成");
});

// ====================== 标签页1:应用管理 ======================
function createAppManagerView() {
    var v = new Vertical();
   
    // 返回按钮
    var backButton = new Button();
    backButton.setText("关闭控制器");
    backButton.setColor(255, 0, 0);
    backButton.onClick(() => {
      printl("控制器已关闭");
      mainTabView.dismiss();
    });
    v.addView(backButton);
   
    // 标题标签
    var titleLabel = new Label();
    titleLabel.setText("应用管理中心");
    titleLabel.setTextColor(0, 0, 255);
    v.addView(titleLabel);
   
    // 创建常用应用按钮组
    var appsVertical = new Vertical();
   
    // 抖音应用
    var douyinButton = createAppButton("抖音", 25, 10, 130);
    douyinButton.onClick(() => {
      printl("启动抖音应用");
      // 实际项目中可使用app.openApp()打开应用
      // app.openApp("com.ss.android.ugc.aweme");
      mainTabView.dismiss();
      hid.home();
      // 模拟打开应用
      setTimeout(() => {
            printl("抖音应用已启动");
      }, 2000);
    });
    appsVertical.addView(douyinButton);
   
    // 微信应用
    var wechatButton = createAppButton("微信", 25, 10, 130);
    wechatButton.onClick(() => {
      printl("启动微信应用");
      mainTabView.dismiss();
      hid.home();
      // 模拟打开应用
      setTimeout(() => {
            printl("微信应用已启动");
      }, 2000);
    });
    appsVertical.addView(wechatButton);
   
    // 浏览器应用
    var browserButton = createAppButton("浏览器", 25, 10, 130);
    browserButton.onClick(() => {
      printl("启动浏览器应用");
      mainTabView.dismiss();
      hid.home();
      // 模拟打开应用
      setTimeout(() => {
            printl("浏览器应用已启动");
      }, 2000);
    });
    appsVertical.addView(browserButton);
   
    // 添加应用组到视图
    v.addView(appsVertical);
   
    // 最近使用应用按钮
    var recentsButton = new Button();
    recentsButton.setText("查看最近使用应用");
    recentsButton.setColor(0, 150, 0);
    recentsButton.onClick(() => {
      printl("打开最近使用应用列表");
      mainTabView.dismiss();
      hid.recents();
    });
    v.addView(recentsButton);
   
    return v;
}

// ====================== 标签页2:控制器 ======================
function createControllerView() {
    var v = new Vertical();
   
    // 返回按钮
    var backButton = new Button();
    backButton.setText("关闭控制器");
    backButton.setColor(255, 0, 0);
    backButton.onClick(() => {
      printl("控制器已关闭");
      mainTabView.dismiss();
    });
    v.addView(backButton);
   
    // 标题标签
    var titleLabel = new Label();
    titleLabel.setText("设备控制器");
    titleLabel.setTextColor(0, 0, 255);
    v.addView(titleLabel);
   
    // 基本操作按钮组
    var basicOps = new Vertical();
   
    // 返回主页按钮
    var homeButton = new Button();
    homeButton.setText("返回主页");
    homeButton.setColor(255, 140, 0);
    homeButton.onClick(() => {
      printl("返回设备主页");
      mainTabView.dismiss();
      hid.home();
    });
    basicOps.addView(homeButton);
   
    // 方向滑动控制
    var swipeControls = new Horizontal();
   
    // 左滑按钮
    var leftSwipeButton = new Button();
    leftSwipeButton.setText("左滑");
    leftSwipeButton.setColor(0, 0, 255);
    leftSwipeButton.setWidth(80);
    leftSwipeButton.onClick(() => {
      printl("执行左滑操作");
      mainTabView.dismiss();
      hid.swipHPercent(0.8, 0.5, 0.2, 50, 500, 50);
    });
    swipeControls.addView(leftSwipeButton);
   
    // 右滑按钮
    var rightSwipeButton = new Button();
    rightSwipeButton.setText("右滑");
    rightSwipeButton.setColor(0, 0, 255);
    rightSwipeButton.setWidth(80);
    rightSwipeButton.onClick(() => {
      printl("执行右滑操作");
      mainTabView.dismiss();
      hid.swipHPercent(0.2, 0.5, 0.8, 50, 500, 50);
    });
    swipeControls.addView(rightSwipeButton);
   
    // 上滑按钮
    var upSwipeButton = new Button();
    upSwipeButton.setText("上滑");
    upSwipeButton.setColor(0, 0, 255);
    upSwipeButton.setWidth(80);
    upSwipeButton.onClick(() => {
      printl("执行上滑操作");
      mainTabView.dismiss();
      hid.swipVPercent(0.5, 0.8, 0.5, 0.2, 50, 500, 50);
    });
    swipeControls.addView(upSwipeButton);
   
    // 下滑按钮
    var downSwipeButton = new Button();
    downSwipeButton.setText("下滑");
    downSwipeButton.setColor(0, 0, 255);
    downSwipeButton.setWidth(80);
    downSwipeButton.onClick(() => {
      printl("执行下滑操作");
      mainTabView.dismiss();
      hid.swipVPercent(0.5, 0.2, 0.5, 0.8, 50, 500, 50);
    });
    swipeControls.addView(downSwipeButton);
   
    // 添加滑动控制到基本操作
    basicOps.addView(swipeControls);
   
    // 添加基本操作到视图
    v.addView(basicOps);
   
    // 屏幕中心点击按钮
    var centerClickButton = new Button();
    centerClickButton.setText("点击屏幕中心");
    centerClickButton.setColor(128, 0, 128);
    centerClickButton.onClick(() => {
      printl("点击屏幕中心位置");
      mainTabView.dismiss();
      hid.clickPercent(0.5, 0.5);
    });
    v.addView(centerClickButton);
   
    // 屏幕区域点击面板
    var clickPanelLabel = new Label();
    clickPanelLabel.setText("点击区域面板");
    v.addView(clickPanelLabel);
   
    // 创建3x3点击网格
    var clickGrid = new Vertical();
    for (var y = 0; y < 3; y++) {
      var row = new Horizontal();
      for (var x = 0; x < 3; x++) {
            var areaButton = new Button();
            areaButton.setText(x + "," + y);
            areaButton.setColor(100, 100, 100);
            areaButton.setWidth(60);
            areaButton.setHeight(40);
            
            // 闭包保存x,y值
            (function(gridX, gridY) {
                areaButton.onClick(() => {
                  var clickX = 0.25 + gridX * 0.25;
                  var clickY = 0.25 + gridY * 0.25;
                  printl(`点击区域 (${gridX},${gridY}) - 百分比坐标 (${clickX.toFixed(2)},${clickY.toFixed(2)})`);
                  mainTabView.dismiss();
                  hid.clickPercent(clickX, clickY);
                });
            })(x, y);
            
            row.addView(areaButton);
      }
      clickGrid.addView(row);
    }
    v.addView(clickGrid);
   
    return v;
}

// ====================== 标签页3:自动化脚本 ======================
function createAutomationView() {
    var v = new Vertical();
   
    // 返回按钮
    var backButton = new Button();
    backButton.setText("关闭控制器");
    backButton.setColor(255, 0, 0);
    backButton.onClick(() => {
      printl("控制器已关闭");
      mainTabView.dismiss();
    });
    v.addView(backButton);
   
    // 标题标签
    var titleLabel = new Label();
    titleLabel.setText("自动化脚本");
    titleLabel.setTextColor(0, 0, 255);
    v.addView(titleLabel);
   
    // 脚本选择复选框组
    var scriptOptions = new Vertical();
   
    var scrollScriptCheck = new CheckBox();
    scrollScriptCheck.setText("自动滚动脚本");
    scriptOptions.addView(scrollScriptCheck);
   
    var clickScriptCheck = new CheckBox();
    clickScriptCheck.setText("自动点击脚本");
    scriptOptions.addView(clickScriptCheck);
   
    var inputScriptCheck = new CheckBox();
    inputScriptCheck.setText("自动输入脚本");
    scriptOptions.addView(inputScriptCheck);
   
    v.addView(scriptOptions);
   
    // 执行脚本按钮
    var runScriptButton = new Button();
    runScriptButton.setText("执行选中脚本");
    runScriptButton.setColor(0, 150, 0);
    runScriptButton.onClick(() => {
      printl("开始执行自动化脚本...");
      mainTabView.dismiss();
      
      // 检查各脚本复选框状态并执行对应脚本
      if (scrollScriptCheck.isSelect()) {
            executeScrollScript();
      }
      
      if (clickScriptCheck.isSelect()) {
            executeClickScript();
      }
      
      if (inputScriptCheck.isSelect()) {
            executeInputScript();
      }
      
      if (!scrollScriptCheck.isSelect() && !clickScriptCheck.isSelect() && !inputScriptCheck.isSelect()) {
            printl("请至少选择一个脚本");
      }
    });
    v.addView(runScriptButton);
   
    return v;
}

// ====================== 标签页4:设置 ======================
function createSettingsView() {
    var v = new Vertical();
   
    // 返回按钮
    var backButton = new Button();
    backButton.setText("关闭控制器");
    backButton.setColor(255, 0, 0);
    backButton.onClick(() => {
      printl("控制器已关闭");
      mainTabView.dismiss();
    });
    v.addView(backButton);
   
    // 标题标签
    var titleLabel = new Label();
    titleLabel.setText("控制器设置");
    titleLabel.setTextColor(0, 0, 255);
    v.addView(titleLabel);
   
    // 显示设置项
    var showLinesCheck = new CheckBox();
    showLinesCheck.setText("显示辅助线条");
    v.addView(showLinesCheck);
   
    var soundEffectsCheck = new CheckBox();
    soundEffectsCheck.setText("启用声音反馈");
    v.addView(soundEffectsCheck);
   
    var autoCloseCheck = new CheckBox();
    autoCloseCheck.setText("执行后自动关闭");
    // CheckBox类没有setSelected方法,移除这行代码
    v.addView(autoCloseCheck);
   
    // 保存设置按钮
    var saveSettingsButton = new Button();
    saveSettingsButton.setText("保存设置");
    saveSettingsButton.setColor(0, 150, 0);
    saveSettingsButton.onClick(() => {
      printl("设置已保存");
      
      // 这里可以添加保存设置到存储的逻辑
      // 例如使用配置文件或本地存储
      var settings = {
            showLines: showLinesCheck.isSelect(),
            soundEffects: soundEffectsCheck.isSelect(),
            autoClose: autoCloseCheck.isSelect()
      };
      
      printl(JSON.stringify(settings));
    });
    v.addView(saveSettingsButton);
   
    // 关于信息
    var aboutLabel = new Label();
    aboutLabel.setText("复杂应用控制器 v1.0\n基于AIWROK开发平台");
    aboutLabel.setTextColor(100, 100, 100);
    v.addView(aboutLabel);
   
    return v;
}

// ====================== 辅助函数 ======================

// 创建应用按钮的辅助函数
function createAppButton(title, r, g, b) {
    var btn = new Button();
    btn.setText(title);
    btn.setColor(r, g, b);
    btn.setTextColor(255, 255, 255);
    btn.setHeight(40);
    return btn;
}

// 自动化脚本函数
function executeScrollScript() {
    printl("执行自动滚动脚本...");
   
    // 执行一组上滑和下滑操作
    for (var i = 0; i < 3; i++) {
      // 上滑
      hid.swipVPercent(0.5, 0.8, 0.5, 0.2, 50, 1000, 100);
      sleep(1500); // 等待1.5秒
      
      // 下滑
      hid.swipVPercent(0.5, 0.2, 0.5, 0.8, 50, 1000, 100);
      sleep(1500); // 等待1.5秒
    }
   
    printl("自动滚动脚本执行完成");
}

function executeClickScript() {
    printl("执行自动点击脚本...");
   
    // 在屏幕上随机点击5次
    for (var i = 0; i < 5; i++) {
      var randomX = Math.random();
      var randomY = Math.random();
      printl(`随机点击位置: (${randomX.toFixed(2)}, ${randomY.toFixed(2)})`);
      hid.clickPercent(randomX, randomY);
      sleep(1000); // 等待1秒
    }
   
    printl("自动点击脚本执行完成");
}

function executeInputScript() {
    printl("执行自动输入脚本...");
   
    // 输入一段文本
    hid.inputSimple("Hello, this is an automated input test!\n");
   
    // 输入数字
    hid.inputSimple("1234567890");
   
    printl("自动输入脚本执行完成");
}

// 模拟sleep函数
function sleep(ms) {
    var start = new Date().getTime();
    while (new Date().getTime() - start < ms) {
      // 空循环等待
    }
}

// 注意事项:
// 1. 本示例结合了UI界面和HID设备操作功能
// 2. 在实际使用中,某些功能可能需要根据具体的设备环境进行调整
// 3. 如需扩展更多功能,可以在现有框架基础上添加新的标签页和功能模块

AIWROK苹果IOS线条类复杂示例


页: [1]
查看完整版本: AIWROK苹果IOS线条类[Line]复杂示例