 | |  |  |
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. 如需扩展更多功能,可以在现有框架基础上添加新的标签页和功能模块
复制代码
| |  | |  |
|