B2B网络软件
标题:
苹果脚本屏幕类screen例子
[打印本页]
作者:
YYPOST群发软件
时间:
4 小时前
标题:
苹果脚本屏幕类screen例子
苹果脚本屏幕类screen例子
2.png
(722.48 KB, 下载次数: 0)
下载附件
4 小时前
上传
3.png
(699.43 KB, 下载次数: 1)
下载附件
4 小时前
上传
4.png
(811.18 KB, 下载次数: 1)
下载附件
4 小时前
上传
/**
* ============================================
* AIWROK 智能屏幕自动化助手 Pro
* 版本:1.0.0
* 平台:iOS (AIWROK)
* QQ 群:711841924 群一,苹果内测群 528816639
* ============================================
*
* 功能特性:
* 1. 🎯 OCR 智能识别屏幕应用图标
* 2. 👆 自动点击打开目标应用
* 3. 📊 H5 可视化控制面板
* 4. 📝 实时日志记录系统
* 5. ⚡ 一键快捷操作
* 6. 🔍 自定义区域扫描
*/
// ==================== 全局配置 ====================
var AppConfig = {
appName: "智能屏幕自动化助手 Pro",
version: "1.0.0",
debugMode: true,
ocrRegion: [0, 0, 1, 1], // 默认全屏 OCR
clickDelay: 500, // 点击延迟 (ms)
retryTimes: 3, // 重试次数
logEnabled: true
};
// ==================== 工具函数 ====================
/**
* 阻塞延迟函数
* @param {number} ms - 毫秒数
*/
function sleep(ms) {
var start = Date.now();
while (Date.now() - start < ms) {
// 阻塞等待
}
}
/**
* 输出日志 (兼容多种日志方式)
* @param {string} message - 日志内容
*/
function log(message) {
if (AppConfig.logEnabled) {
printl(message);
// 同时发送到 LogManagerH5(如果可用)
try {
LogManagerH5.info(message);
} catch (e) {
// LogManagerH5 不可用时忽略
}
}
}
/**
* 输出分隔线
*/
function separator() {
log("========================================");
}
// ==================== 核心功能类 ====================
/**
* 屏幕操作管理器
*/
var ScreenManager = {
/**
* 获取屏幕尺寸
*/
getScreenSize: function() {
return {
width: screen.getScreenWidth(),
height: screen.getScreenHeight()
};
},
/**
* 全尺寸截图
* @returns {Image} 截图对象
*/
captureFull: function() {
try {
log("[截图] 执行全尺寸截图...");
var image = screen.screenShotFull();
log("[截图] 截图完成");
return image;
} catch (e) {
log("[错误] 截图失败:" + e);
return null;
}
},
/**
* 缩放截图
* @param {number} width - 宽度
* @param {number} height - 高度
* @param {number} compress - 压缩率 (0-100)
* @returns {Image} 截图对象
*/
captureScaled: function(width, height, compress) {
try {
log("[截图] 执行缩放截图:" + width + "x" + height + ", 压缩率:" + compress);
var image = screen.screenShot(width, height, compress);
log("[截图] 截图完成");
return image;
} catch (e) {
log("[错误] 截图失败:" + e);
return null;
}
},
/**
* 执行 OCR 识别
* @param {Image} image - 图像对象
* @param {Array} region - 识别区域 [left, top, right, bottom]
* @returns {OcrResult} OCR 结果
*/
recognizeText: function(image, region) {
try {
var ocrRegion = region || AppConfig.ocrRegion;
log("[OCR] 开始识别,区域:[" + ocrRegion.join(", ") + "]");
var result = image.ocr(ocrRegion[0], ocrRegion[1], ocrRegion[2], ocrRegion[3]);
log("[OCR] 识别完成");
return result;
} catch (e) {
log("[错误] OCR 识别失败:" + e);
return null;
}
},
/**
* 锁定屏幕缓存
*/
lockCache: function() {
try {
screen.lockScreen();
log("[缓存] 屏幕缓存已锁定");
} catch (e) {
log("[错误] 锁定缓存失败:" + e);
}
},
/**
* 解锁屏幕缓存
*/
unlockCache: function() {
try {
screen.unLockScreen();
log("[缓存] 屏幕缓存已解锁");
} catch (e) {
log("[错误] 解锁缓存失败:" + e);
}
}
};
/**
* 点击操作管理器
*/
var ClickManager = {
/**
* 百分比位置点击
* @param {number} xPercent - X 轴百分比 (0-1)
* @param {number} yPercent - Y 轴百分比 (0-1)
*/
clickPercent: function(xPercent, yPercent) {
try {
log("[点击] 百分比坐标:(" + xPercent + ", " + yPercent + ")");
hid.clickPercent(xPercent, yPercent);
sleep(AppConfig.clickDelay);
log("[点击] 点击成功");
} catch (e) {
log("[错误] 点击失败:" + e);
}
},
/**
* 绝对坐标点击
* @param {number} x - X 坐标
* @param {number} y - Y 坐标
*/
clickAbsolute: function(x, y) {
try {
log("[点击] 绝对坐标:(" + x + ", " + y + ")");
hid.click(x, y);
sleep(AppConfig.clickDelay);
log("[点击] 点击成功");
} catch (e) {
log("[错误] 点击失败:" + e);
}
},
/**
* 点击 OCR 识别到的文本
* @param {Detect} detect - OCR 检测对象
* @param {string} clickType - 点击类型:"center" | "random"
*/
clickOcrTarget: function(detect, clickType) {
try {
if (!detect) {
log("[警告] 点击目标为空");
return false;
}
var rect = detect.getRect();
var centerX = rect.getCenterX();
var centerY = rect.getCenterY();
if (clickType === "center") {
log("[点击] 点击文本中心:(" + centerX + ", " + centerY + ")");
this.clickAbsolute(centerX, centerY);
} else {
log("[点击] 随机点击文本区域");
detect.clickRandom();
}
log("[点击] 点击成功");
return true;
} catch (e) {
log("[错误] 点击失败:" + e);
return false;
}
},
/**
* 双击操作
* @param {number} xPercent - X 轴百分比
* @param {number} yPercent - Y 轴百分比
*/
doubleClick: function(xPercent, yPercent) {
try {
log("[双击] 百分比坐标:(" + xPercent + ", " + yPercent + ")");
hid.doubleClickPercent(xPercent, yPercent);
sleep(AppConfig.clickDelay * 2);
log("[双击] 双击成功");
} catch (e) {
log("[错误] 双击失败:" + e);
}
}
};
/**
* OCR 文本查找管理器
*/
var OcrSearchManager = {
/**
* 查找精确文本
* @param {OcrResult} ocrResult - OCR 结果
* @param {string} text - 要查找的文本
* @param {Array} region - 查找区域
* @returns {Detect} 检测结果
*/
findExactText: function(ocrResult, text, region) {
try {
log("[查找] 精确查找文本:\"" + text + "\"");
var result = ocrResult.findText(text, region || AppConfig.ocrRegion);
if (result) {
log("[查找] 找到文本");
} else {
log("[查找] 未找到文本");
}
return result;
} catch (e) {
log("[错误] 查找失败:" + e);
return null;
}
},
/**
* 查找包含文本
* @param {OcrResult} ocrResult - OCR 结果
* @param {string} text - 要查找的文本
* @param {Array} region - 查找区域
* @returns {Detect} 检测结果
*/
findIncludeText: function(ocrResult, text, region) {
try {
log("[查找] 查找包含文本:\"" + text + "\"");
var result = ocrResult.findIncludeText(text, region || AppConfig.ocrRegion);
if (result) {
log("[查找] 找到文本");
} else {
log("[查找] 未找到文本");
}
return result;
} catch (e) {
log("[错误] 查找失败:" + e);
return null;
}
},
/**
* 使用正则表达式查找
* @param {OcrResult} ocrResult - OCR 结果
* @param {string} regex - 正则表达式
* @param {Array} region - 查找区域
* @returns {Array} 检测结果数组
*/
findTextWithRegex: function(ocrResult, regex, region) {
try {
log("[查找] 使用正则查找:" + regex);
var results = ocrResult.findTextWithRegex(regex, region || AppConfig.ocrRegion);
if (results && results.length > 0) {
log("[查找] 找到 " + results.length + " 个匹配项");
} else {
log("[查找] 未找到匹配项");
}
return results;
} catch (e) {
log("[错误] 查找失败:" + e);
return null;
}
},
/**
* 获取所有检测结果
* @param {OcrResult} ocrResult - OCR 结果
* @returns {Array} 所有检测结果
*/
getAllDetects: function(ocrResult) {
try {
log("[查找] 获取所有检测结果");
var results = ocrResult.getAllDetect();
if (results) {
log("[查找] 共找到 " + results.length + " 个文本块");
}
return results;
} catch (e) {
log("[错误] 获取失败:" + e);
return null;
}
}
};
// ==================== 业务功能 ====================
/**
* 应用启动器 - 通过 OCR 识别并点击应用图标
*/
var AppLauncher = {
/**
* 启动应用
* @param {string} appName - 应用名称
* @param {number} maxRetries - 最大重试次数
* @returns {boolean} 是否成功
*/
launchApp: function(appName, maxRetries) {
separator();
log("[启动器] 开始启动应用:" + appName);
var retries = 0;
var actualMaxRetries = maxRetries || AppConfig.retryTimes;
while (retries < actualMaxRetries) {
try {
retries++;
log("[启动器] 第 " + retries + " 次尝试...");
// 1. 截图
var image = ScreenManager.captureFull();
if (!image) {
continue;
}
// 2. OCR 识别
var ocrResult = ScreenManager.recognizeText(image, AppConfig.ocrRegion);
if (!ocrResult) {
image.close();
continue;
}
// 3. 查找应用名称
var appDetect = OcrSearchManager.findIncludeText(ocrResult, appName, AppConfig.ocrRegion);
if (appDetect) {
log("[启动器] ✓ 找到应用图标");
// 4. 点击应用
var success = ClickManager.clickOcrTarget(appDetect, "center");
// 5. 释放资源
image.close();
if (success) {
log("[启动器] ✓✓ 应用启动成功!");
separator();
return true;
}
} else {
log("[启动器] 未找到应用:" + appName);
image.close();
}
// 等待后重试
if (retries < actualMaxRetries) {
log("[启动器] 准备重试...");
sleep(1000);
}
} catch (e) {
log("[错误] 启动应用失败:" + e);
}
}
log("[启动器] ✗✗ 应用启动失败 (已重试 " + actualMaxRetries + " 次)");
separator();
return false;
},
/**
* 批量启动应用
* @param {Array} appList - 应用名称列表
*/
launchMultipleApps: function(appList) {
separator();
log("[启动器] 开始批量启动应用");
var successCount = 0;
for (var i = 0; i < appList.length; i++) {
log("[启动器] 正在启动 (" + (i + 1) + "/" + appList.length + "): " + appList[i]);
if (this.launchApp(appList[i], 2)) {
successCount++;
sleep(2000); // 应用间切换等待
} else {
log("[启动器] 跳过失败应用,继续下一个");
sleep(500);
}
}
log("[启动器] 批量启动完成:成功 " + successCount + "/" + appList.length + " 个");
separator();
},
/**
* 显示屏幕所有文本 (调试用)
*/
showAllScreenText: function() {
separator();
log("[调试] 开始识别屏幕所有文本");
var image = ScreenManager.captureFull();
if (!image) {
return;
}
var ocrResult = ScreenManager.recognizeText(image, [0, 0, 1, 1]);
if (!ocrResult) {
image.close();
return;
}
var allText = ocrResult.getAllString();
log("[调试] 屏幕文本内容:\n" + allText);
var allDetects = OcrSearchManager.getAllDetects(ocrResult);
if (allDetects) {
log("[调试] 文本块数量:" + allDetects.length);
for (var i = 0; i < allDetects.length; i++) {
var detect = allDetects[i];
log("[调试] [" + (i + 1) + "] " + detect.text);
}
}
image.close();
separator();
}
};
// ==================== UI 界面 ====================
/**
* 创建主控制面板
*/
function createControlPanel() {
var mainTab = new TabView();
mainTab.setTitles(["应用启动", "快捷操作", "系统设置"]);
mainTab.show(() => {
log("[UI] 控制面板已启动");
// 在每个页面顶部添加导航栏
mainTab.addView(0, createPageWithHeader(createAppLaunchView(mainTab), mainTab));
mainTab.addView(1, createPageWithHeader(createQuickActionsView(mainTab), mainTab));
mainTab.addView(2, createPageWithHeader(createSettingsView(mainTab), mainTab));
log("[UI] 所有页面加载完成");
});
}
/**
* 为页面添加导航栏
* @param {Vertical} contentView - 内容视图
* @param {TabView} tabView - TabView 实例
* @returns {Vertical} 带导航栏的完整页面
*/
function createPageWithHeader(contentView, tabView) {
var pageContainer = new Vertical();
// 添加导航栏
var header = createHeader(tabView);
pageContainer.addView(header);
// 添加内容区域
pageContainer.addView(contentView);
return pageContainer;
}
/**
* 创建上标头(带返回按钮和返回桌面按钮)
* @param {TabView} tabView - TabView 实例
* @returns {Vertical} 标头视图
*/
function createHeader(tabView) {
var header = new Vertical();
header.setBackgroundColor(41, 128, 185);
// 第一行:返回按钮 + 标题 + 桌面按钮
var titleBar = new Horizontal();
// 返回按钮
var backBtn = new Button();
backBtn.setText("← 返回");
backBtn.setColor(255, 255, 255);
backBtn.setTextColor(41, 128, 185);
backBtn.setWidth(80);
backBtn.setHeight(40);
backBtn.onClick(() => {
log("[导航] 返回上一页");
try {
hid.back();
} catch (e) {
try {
hid.home();
log("[导航] ✓ 已返回主页");
} catch (e2) {
log("[警告] 返回失败:" + e2);
}
}
});
titleBar.addView(backBtn);
// 弹性占位(让标题居中)
var flexSpace1 = new Label();
flexSpace1.setWidth(-1);
titleBar.addView(flexSpace1);
// 应用标题
var titleLabel = new Label();
titleLabel.setText("🚀 " + AppConfig.appName);
titleLabel.setTextColor(255, 255, 255);
titleLabel.setFontSize(16);
titleBar.addView(titleLabel);
// 弹性占位
var flexSpace2 = new Label();
flexSpace2.setWidth(-1);
titleBar.addView(flexSpace2);
// 返回桌面按钮
var homeBtn = new Button();
homeBtn.setText("🏠 桌面");
homeBtn.setColor(46, 204, 113);
homeBtn.setTextColor(255, 255, 255);
homeBtn.setWidth(90);
homeBtn.setHeight(40);
homeBtn.onClick(() => {
log("[导航] 返回桌面");
try {
hid.home();
log("[导航] ✓ 已返回桌面");
} catch (e) {
log("[错误] 返回桌面失败:" + e);
}
});
titleBar.addView(homeBtn);
header.addView(titleBar);
return header;
}
/**
* 应用启动页面
* @param {TabView} mainTab - TabView 实例
* @returns {Vertical} 页面视图
*/
function createAppLaunchView(mainTab) {
var v = new Vertical();
v.setBackgroundColor(245, 247, 250);
// 标题
var header = new Horizontal();
header.setAlignment("center");
var title = new Label();
title.setText("🚀 应用启动器");
title.setTextColor(41, 128, 185);
title.setFontSize(24);
header.addView(title);
v.addView(header);
var divider = new Label();
divider.setHeight(2);
divider.setBackgroundColor(200, 200, 200);
v.addView(divider);
// 常用应用按钮
var appContainer = new Vertical();
appContainer.setBackgroundColor(255, 255, 255);
var apps = [
{ name: "微信", color: [46, 204, 113] },
{ name: "QQ", color: [52, 152, 219] },
{ name: "支付宝", color: [52, 73, 94] },
{ name: "抖音", color: [231, 76, 60] },
{ name: "快手", color: [241, 196, 15] },
{ name: "微博", color: [230, 0, 18] }
];
for (var i = 0; i < apps.length; i++) {
var appBtn = new Button();
appBtn.setText("启动 " + apps[i].name);
appBtn.setColor(apps[i].color[0], apps[i].color[1], apps[i].color[2]);
appBtn.setTextColor(255, 255, 255);
appBtn.setHeight(45);
(function(appName) {
appBtn.onClick(() => {
log("[UI] 点击启动:" + appName);
AppLauncher.launchApp(appName, 3);
});
})(apps[i].name);
appContainer.addView(appBtn);
}
v.addView(appContainer);
// 自定义输入
var inputContainer = new Horizontal();
inputContainer.setAlignment("center_vertical");
var inputLabel = new Label();
inputLabel.setText("应用名称:");
inputLabel.setTextColor(50, 50, 50);
inputLabel.setWidth(100);
inputContainer.addView(inputLabel);
var appInput = new Input();
appInput.setWidth(200);
inputContainer.addView(appInput);
v.addView(inputContainer);
var customLaunchBtn = new Button();
customLaunchBtn.setText("启动自定义应用");
customLaunchBtn.setColor(155, 89, 182);
customLaunchBtn.setTextColor(255, 255, 255);
customLaunchBtn.setHeight(45);
customLaunchBtn.onClick(() => {
var appName = appInput.getText();
if (appName) {
log("[UI] 启动自定义应用:" + appName);
AppLauncher.launchApp(appName, 3);
appInput.setText("");
} else {
log("[UI] 请输入应用名称");
}
});
v.addView(customLaunchBtn);
// 批量启动
var batchBtn = new Button();
batchBtn.setText("批量启动 (微信+QQ+支付宝)");
batchBtn.setColor(52, 152, 219);
batchBtn.setTextColor(255, 255, 255);
batchBtn.setHeight(45);
batchBtn.onClick(() => {
AppLauncher.launchMultipleApps(["微信", "QQ", "支付宝"]);
});
v.addView(batchBtn);
// 关闭按钮
var closeBtn = new Button();
closeBtn.setText("❌ 关闭面板");
closeBtn.setColor(149, 165, 166);
closeBtn.setTextColor(255, 255, 255);
closeBtn.setHeight(40);
closeBtn.onClick(() => {
log("[UI] 关闭控制面板");
if (mainTab) {
mainTab.dismiss();
}
});
v.addView(closeBtn);
return v;
}
/**
* 快捷操作页面
* @param {TabView} mainTab - TabView 实例
* @returns {Vertical} 页面视图
*/
function createQuickActionsView(mainTab) {
var v = new Vertical();
v.setBackgroundColor(245, 247, 250);
// 标题
var header = new Horizontal();
header.setAlignment("center");
var title = new Label();
title.setText("⚡ 快捷操作");
title.setTextColor(41, 128, 185);
title.setFontSize(24);
header.addView(title);
v.addView(header);
var divider = new Label();
divider.setHeight(2);
divider.setBackgroundColor(200, 200, 200);
v.addView(divider);
// 快捷按钮组
var quickContainer = new Vertical();
quickContainer.setBackgroundColor(255, 255, 255);
// 屏幕中心点击
var centerClickBtn = new Button();
centerClickBtn.setText("点击屏幕中心");
centerClickBtn.setColor(46, 204, 113);
centerClickBtn.setTextColor(255, 255, 255);
centerClickBtn.setHeight(45);
centerClickBtn.onClick(() => {
log("[快捷] 点击屏幕中心");
ClickManager.clickPercent(0.5, 0.5);
});
quickContainer.addView(centerClickBtn);
// 双击屏幕中心
var doubleClickBtn = new Button();
doubleClickBtn.setText("双击屏幕中心");
doubleClickBtn.setColor(241, 196, 15);
doubleClickBtn.setTextColor(50, 50, 50);
doubleClickBtn.setHeight(45);
doubleClickBtn.onClick(() => {
log("[快捷] 双击屏幕中心");
ClickManager.doubleClick(0.5, 0.5);
});
quickContainer.addView(doubleClickBtn);
// 显示屏幕文本
var showTextBtn = new Button();
showTextBtn.setText("显示屏幕所有文本");
showTextBtn.setColor(52, 152, 219);
showTextBtn.setTextColor(255, 255, 255);
showTextBtn.setHeight(45);
showTextBtn.onClick(() => {
AppLauncher.showAllScreenText();
});
quickContainer.addView(showTextBtn);
// 刷新 OCR
var refreshOcrBtn = new Button();
refreshOcrBtn.setText("刷新 OCR 缓存");
refreshOcrBtn.setColor(155, 89, 182);
refreshOcrBtn.setTextColor(255, 255, 255);
refreshOcrBtn.setHeight(45);
refreshOcrBtn.onClick(() => {
log("[快捷] 刷新 OCR 缓存");
ScreenManager.lockCache();
sleep(500);
ScreenManager.unlockCache();
log("[快捷] 刷新完成");
});
quickContainer.addView(refreshOcrBtn);
v.addView(quickContainer);
return v;
}
/**
* 系统设置页面
* @param {TabView} mainTab - TabView 实例
* @returns {Vertical} 页面视图
*/
function createSettingsView(mainTab) {
var v = new Vertical();
v.setBackgroundColor(245, 247, 250);
// 标题
var header = new Horizontal();
header.setAlignment("center");
var title = new Label();
title.setText("⚙️ 系统设置");
title.setTextColor(41, 128, 185);
title.setFontSize(24);
header.addView(title);
v.addView(header);
var divider = new Label();
divider.setHeight(2);
divider.setBackgroundColor(200, 200, 200);
v.addView(divider);
// 设置容器
var settingsContainer = new Vertical();
settingsContainer.setBackgroundColor(255, 255, 255);
// 日志开关
var logCheck = new CheckBox();
logCheck.setText("启用日志记录");
logCheck.setID("日志开关");
logCheck.setDefultSelect(); // 默认选中
logCheck.onClick(() => {
AppConfig.logEnabled = logCheck.isSelect();
log("[设置] 日志记录:" + (AppConfig.logEnabled ? "已开启" : "已关闭"));
});
settingsContainer.addView(logCheck);
// 点击延迟设置
var delayContainer = new Horizontal();
delayContainer.setAlignment("center_vertical");
var delayLabel = new Label();
delayLabel.setText("点击延迟:");
delayLabel.setTextColor(50, 50, 50);
delayLabel.setWidth(100);
delayContainer.addView(delayLabel);
var delayInput = new Input();
delayInput.setWidth(100);
delayInput.setText(String(AppConfig.clickDelay));
delayContainer.addView(delayInput);
var delayUnit = new Label();
delayUnit.setText(" ms");
delayUnit.setTextColor(100, 100, 100);
delayContainer.addView(delayUnit);
settingsContainer.addView(delayContainer);
var saveDelayBtn = new Button();
saveDelayBtn.setText("保存延迟设置");
saveDelayBtn.setColor(52, 152, 219);
saveDelayBtn.setTextColor(255, 255, 255);
saveDelayBtn.setHeight(40);
saveDelayBtn.onClick(() => {
var delayText = delayInput.getText();
var delay = parseInt(delayText);
if (delay > 0) {
AppConfig.clickDelay = delay;
log("[设置] 点击延迟已保存:" + delay + "ms");
} else {
log("[设置] 请输入有效的延迟值");
}
});
settingsContainer.addView(saveDelayBtn);
// 重试次数设置
var retryContainer = new Horizontal();
retryContainer.setAlignment("center_vertical");
var retryLabel = new Label();
retryLabel.setText("重试次数:");
retryLabel.setTextColor(50, 50, 50);
retryLabel.setWidth(100);
retryContainer.addView(retryLabel);
var retryInput = new Input();
retryInput.setWidth(100);
retryInput.setText(String(AppConfig.retryTimes));
retryContainer.addView(retryInput);
settingsContainer.addView(retryContainer);
var saveRetryBtn = new Button();
saveRetryBtn.setText("保存重试次数");
saveRetryBtn.setColor(46, 204, 113);
saveRetryBtn.setTextColor(255, 255, 255);
saveRetryBtn.setHeight(40);
saveRetryBtn.onClick(() => {
var retryText = retryInput.getText();
var retry = parseInt(retryText);
if (retry > 0) {
AppConfig.retryTimes = retry;
log("[设置] 重试次数已保存:" + retry);
} else {
log("[设置] 请输入有效的重试次数");
}
});
settingsContainer.addView(saveRetryBtn);
v.addView(settingsContainer);
// 关于信息
var aboutDivider = new Label();
aboutDivider.setHeight(1);
aboutDivider.setBackgroundColor(180, 180, 180);
v.addView(aboutDivider);
var aboutLabel = new Label();
aboutLabel.setText("\n" + AppConfig.appName + " v" + AppConfig.version + "\nQQ 群:711841924\n基于 AIWROK 开发平台");
aboutLabel.setTextColor(100, 100, 100);
aboutLabel.setFontSize(14);
v.addView(aboutLabel);
return v;
}
// ==================== 主程序入口 ====================
/**
* 启动演示模式 - 展示所有功能
*/
function runDemo() {
log("========================================");
log("🍎 智能屏幕自动化助手 Pro v" + AppConfig.version);
log("========================================");
log("[演示] 开始功能演示...");
// 1. 显示屏幕信息
var screenSize = ScreenManager.getScreenSize();
log("[演示] 屏幕分辨率:" + screenSize.width + "x" + screenSize.height);
// 2. 截图测试
log("[演示] 执行截图测试...");
var testImage = ScreenManager.captureFull();
if (testImage) {
log("[演示] ✓ 截图成功");
testImage.close();
}
// 3. 快捷操作演示
log("[演示] 点击屏幕中心...");
ClickManager.clickPercent(0.5, 0.5);
sleep(1000);
log("[演示] 双击屏幕中心...");
ClickManager.doubleClick(0.5, 0.5);
separator();
log("[演示] 功能演示完成!");
log("[提示] 请打开控制面板进行更多操作");
separator();
}
/**
* 主函数 - 启动应用
*/
function main() {
try {
// 运行演示
runDemo();
// 启动控制面板
log("[系统] 正在启动控制面板...");
createControlPanel();
log("[系统] ✓ 系统启动成功");
} catch (e) {
log("[致命错误] 系统启动失败:" + e);
}
}
// ==================== 执行主程序 ====================
main();
复制代码
欢迎光临 B2B网络软件 (http://bbs.niubt.cn/)
Powered by Discuz! X3.2