|
|
Æ»¹û½Å±¾Ëæ»úÊýʵÓÃʾÀý
- /**
- * ============================================
- * AIWROK ÖÇÄÜÓ¦ÓùÜÀíÆ÷Pro Max
- * °æ±¾£º3.0.1 (Bug Fix ÐÞ¸´°æ)
- * ƽ̨£ºiOS (AIWROK)
- * QQ Ⱥ£º711841924 Ⱥһ£¬Æ»¹ûÄÚ²âȺ 528816639
- *
- * 🐛 ÐÞ¸´ÄÚÈÝ:
- * - ÐÞ¸´ Detect.text ÊôÐÔ·ÃÎÊ´íÎó (getText -> .text)
- * - ÔöÇ¿¿ÕÖµ¼ì²éºÍ´íÎó´¦Àí
- * - ÓÅ»¯ AI ·ÖÎöÄ£¿é
- * ============================================
- *
- * 🌟 ºËÐŦÄÜÌØÐÔ:
- * 1. 🎯 OCR ÖÇÄÜʶ±ð + ͼÏñʶ±ð˫ģʽ
- * 2. 📊 H5 ¿ÉÊÓ»¯¿ØÖÆÃæ°å (ʵʱÈÕÖ¾ + Êý¾Ýͳ¼Æ)
- * 3. 🤖 ×Ô¶¯»¯ÈÎÎñÁ÷³ÌÒýÇæ
- * 4. 🧠 ÖÇÄܾö²ßϵͳ (»ùÓÚ¸ÅÂʺÍÌõ¼þ)
- * 5. 📱 Ó¦ÓùÜÀí (Æô¶¯/Çл»/¼à¿Ø)
- * 6. 🎮 ÊÖÊÆ²Ù×÷ (»¬¶¯/³¤°´/¶àµã´¥¿Ø)
- * 7. ⚙️ ÅäÖÃÖÐÐÄ (¶¯Ì¬²ÎÊýµ÷Õû)
- * 8. 🔔 ʼþ֪ͨϵͳ (Toast/ÈÕÖ¾/»Øµ÷)
- * 9. 💾 Êý¾Ý³Ö¾Ã»¯ (Map ´æ´¢/ÀúÊ·¼Ç¼)
- * 10. 🛡️ ´íÎó´¦ÀíÓë×ÔÓú»úÖÆ
- *
- * 📖 ÊÊÓó¡¾°:
- * - Ó¦ÓÃ×Ô¶¯»¯²âÊÔ
- * - ÅúÁ¿ÈÎÎñ´¦Àí
- * - ÖÇÄܸ¨Öú¹¤¾ß
- * - ÓÎÏ·×Ô¶¯»¯
- * - Êý¾Ý²É¼¯
- */
- // ==================== µÚÒ»²¿·Ö£ºÈ«¾ÖÅäÖÃÖÐÐÄ ====================
- var GlobalConfig = {
- // »ù´¡ÐÅÏ¢
- appName: "ÖÇÄÜÓ¦ÓùÜÀíÆ÷Pro Max",
- version: "3.0.1", // Bug Fix °æ±¾
- author: "AIWROK ¿ª·¢ÍŶÓ",
-
- // ÔËÐвÎÊý
- debugMode: true, // µ÷ÊÔģʽ
- logEnabled: true, // ÈÕÖ¾¿ª¹Ø
- autoRetry: true, // ×Ô¶¯ÖØÊÔ
- maxRetryTimes: 3, // ×î´óÖØÊÔ´ÎÊý
- defaultTimeout: 5000, // ĬÈϳ¬Ê± (ms)
-
- // OCR ÅäÖÃ
- ocrRegion: [0, 0, 1, 1], // ĬÈÏÈ«ÆÁ [left, top, right, bottom]
- ocrConfidence: 0.6, // ÖÃÐŶÈãÐÖµ
- ocrLockEnabled: false, // OCR Ëø¶¨¿ª¹Ø
-
- // µã»÷ÅäÖÃ
- clickDelay: 500, // µã»÷ÑÓ³Ù (ms)
- clickMode: "center", // µã»÷ģʽ£º"center" | "random"
-
- // »¬¶¯ÅäÖÃ
- swipeDuration: 300, // »¬¶¯³ÖÐøÊ±¼ä (ms)
- swipePause: 1000, // »¬¶¯¼ä¸ô (ms)
-
- // ¸ß¼¶¹¦ÄÜ
- enableAI: true, // AI ÖÇÄܾö²ß
- enableStatistics: true, // ͳ¼Æ¹¦ÄÜ
- enableHistory: true, // ÀúÊ·¼Ç¼
- enableNotification: true // ֪ͨ¹¦ÄÜ
- };
- // ==================== µÚ¶þ²¿·Ö£ººËÐŤ¾ßÀà ====================
- /**
- * ÈÕÖ¾¹ÜÀíÆ÷ - ͳһÈÕÖ¾Êä³ö
- */
- var LogManager = {
- prefix: "[ProMax]",
- icons: {
- info: "ℹ️",
- success: "✅",
- warning: "⚠️",
- error: "❌",
- debug: "🐛"
- },
-
- log: function(message, level) {
- if (!GlobalConfig.logEnabled) return;
- level = level || "info";
- var icon = this.icons[level] || this.icons.info;
- var logMsg = this.prefix + " " + icon + " " + message;
-
- // Êä³öµ½ printl
- printl(logMsg);
-
- // ͬ²½µ½ LogManagerH5 (Èç¹û¿ÉÓÃ)
- try {
- if (typeof LogManagerH5 !== "undefined") {
- switch(level) {
- case "success": LogManagerH5.success(message); break;
- case "warning": LogManagerH5.warning(message); break;
- case "error": LogManagerH5.error(message); break;
- default: LogManagerH5.info(message);
- }
- }
- } catch(e) {
- // ºöÂÔ H5ÈÕÖ¾´íÎó
- }
- },
-
- info: function(msg) { this.log(msg, "info"); },
- success: function(msg) { this.log(msg, "success"); },
- warning: function(msg) { this.log(msg, "warning"); },
- error: function(msg) { this.log(msg, "error"); },
- debug: function(msg) { if(GlobalConfig.debugMode) this.log(msg, "debug"); }
- };
- /**
- * ÑÓ³Ùº¯Êý - ×èÈûʽµÈ´ý
- */
- function sleep(ms) {
- var start = Date.now();
- while (Date.now() - start < ms) {
- // ×èÈûµÈ´ý
- }
- }
- /**
- * Ëæ»úÊý¹¤¾ß - ʹÓÃÖ÷½Å±¾µÄ RandomUtils
- */
- var RandomHelper = {
- randInt: function(min, max) {
- if (typeof RandomUtils !== "undefined") {
- return RandomUtils.randInt(min, max);
- }
- return Math.floor(Math.random() * (max - min + 1)) + min;
- },
-
- randFloat: function(min, max) {
- if (typeof RandomUtils !== "undefined") {
- return RandomUtils.LtUqFOGkc6(min, max);
- }
- return Math.random() * (max - min) + min;
- },
-
- randBool: function() {
- if (typeof RandomUtils !== "undefined") {
- return RandomUtils.randBool();
- }
- return Math.random() < 0.5;
- },
-
- randChoice: function(arr) {
- if (typeof RandomUtils !== "undefined") {
- return RandomUtils.randArrayElement(arr);
- }
- if (!arr || arr.length === 0) return null;
- return arr[Math.floor(Math.random() * arr.length)];
- }
- };
- // ==================== µÚÈý²¿·Ö£º¹¦ÄÜÄ£¿éÀà ====================
- /**
- * ÆÁÄ»¹ÜÀíÆ÷ - ½ØÍ¼/OCR/»º´æ
- */
- var ScreenManager = {
- width: 0,
- height: 0,
-
- init: function() {
- this.width = screen.getScreenWidth();
- this.height = screen.getScreenHeight();
- LogManager.info("ÆÁÄ»³ß´ç£º" + this.width + "x" + this.height);
- },
-
- getScreenSize: function() {
- return { width: this.width, height: this.height };
- },
-
- captureFull: function() {
- try {
- LogManager.debug("Ö´ÐÐÈ«³ß´ç½ØÍ¼...");
- var image = screen.screenShotFull();
- LogManager.success("½ØÍ¼Íê³É");
- return image;
- } catch (e) {
- LogManager.error("½ØÍ¼Ê§°Ü£º" + e);
- return null;
- }
- },
-
- recognizeText: function(image, region) {
- try {
- var ocrRegion = region || GlobalConfig.ocrRegion;
- LogManager.debug("OCR ʶ±ðÇøÓò£º[" + ocrRegion.join(", ") + "]");
- var result = image.ocr(ocrRegion[0], ocrRegion[1], ocrRegion[2], ocrRegion[3]);
- LogManager.success("OCR ʶ±ðÍê³É");
- return result;
- } catch (e) {
- LogManager.error("OCR ʶ±ðʧ°Ü£º" + e);
- return null;
- }
- },
-
- lockCache: function() {
- try {
- screen.lockScreen();
- LogManager.info("ÆÁÄ»»º´æÒÑËø¶¨");
- } catch (e) {
- LogManager.error("Ëø¶¨»º´æÊ§°Ü£º" + e);
- }
- },
-
- unlockCache: function() {
- try {
- screen.unLockScreen();
- LogManager.info("ÆÁÄ»»º´æÒѽâËø");
- } catch (e) {
- LogManager.error("½âËø»º´æÊ§°Ü£º" + e);
- }
- }
- };
- /**
- * µã»÷¹ÜÀíÆ÷ - ¶àÖÖµã»÷·½Ê½
- */
- var ClickManager = {
- clickPercent: function(x, y) {
- try {
- LogManager.debug("°Ù·Ö±Èµã»÷£º(" + x + ", " + y + ")");
- hid.clickPercent(x, y);
- sleep(GlobalConfig.clickDelay);
- LogManager.success("µã»÷³É¹¦");
- return true;
- } catch (e) {
- LogManager.error("µã»÷ʧ°Ü£º" + e);
- return false;
- }
- },
-
- clickAbsolute: function(x, y) {
- try {
- LogManager.debug("¾ø¶Ô×ø±êµã»÷£º(" + x + ", " + y + ")");
- hid.click(x, y);
- sleep(GlobalConfig.clickDelay);
- LogManager.success("µã»÷³É¹¦");
- return true;
- } catch (e) {
- LogManager.error("µã»÷ʧ°Ü£º" + e);
- return false;
- }
- },
-
- clickOcrTarget: function(detect, mode) {
- if (!detect) {
- LogManager.warning("µã»÷Ä¿±êΪ¿Õ");
- return false;
- }
-
- try {
- mode = mode || GlobalConfig.clickMode;
-
- if (mode === "center") {
- var rect = detect.getRect();
- var centerX = rect.getCenterX();
- var centerY = rect.getCenterY();
- LogManager.debug("µã»÷Îı¾ÖÐÐÄ£º(" + centerX + ", " + centerY + ")");
- return this.clickAbsolute(centerX, centerY);
- } else {
- LogManager.debug("Ëæ»úµã»÷Îı¾ÇøÓò");
- detect.clickRandom();
- sleep(GlobalConfig.clickDelay);
- LogManager.success("µã»÷³É¹¦");
- return true;
- }
- } catch (e) {
- LogManager.error("µã»÷ʧ°Ü£º" + e);
- return false;
- }
- },
-
- doubleClick: function(x, y) {
- try {
- LogManager.debug("Ë«»÷£º(" + x + ", " + y + ")");
- hid.doubleClickPercent(x, y);
- sleep(GlobalConfig.clickDelay * 2);
- LogManager.success("Ë«»÷³É¹¦");
- return true;
- } catch (e) {
- LogManager.error("Ë«»÷ʧ°Ü£º" + e);
- return false;
- }
- },
-
- longPress: function(x, y, duration) {
- try {
- duration = duration || 1000;
- LogManager.debug("³¤°´£º(" + x + ", " + y + "), " + duration + "ms");
- hid.longPressPercent(x, y, duration);
- sleep(GlobalConfig.clickDelay);
- LogManager.success("³¤°´³É¹¦");
- return true;
- } catch (e) {
- LogManager.error("³¤°´Ê§°Ü£º" + e);
- return false;
- }
- }
- };
- /**
- * »¬¶¯¹ÜÀíÆ÷ - ÊÖÊÆ²Ù×÷
- */
- var SwipeManager = {
- swipeVertical: function(xPercent, yStart, yEnd) {
- try {
- LogManager.debug("´¹Ö±»¬¶¯£ºx=" + xPercent + ", y´Ó" + yStart + "µ½" + yEnd);
- hid.swipVPercent(xPercent, yStart, xPercent, yEnd,
- GlobalConfig.swipeDuration, GlobalConfig.swipePause, 1);
- sleep(GlobalConfig.swipePause);
- LogManager.success("»¬¶¯³É¹¦");
- return true;
- } catch (e) {
- LogManager.error("»¬¶¯Ê§°Ü£º" + e);
- return false;
- }
- },
-
- swipeHorizontal: function(xStart, yPercent, xEnd) {
- try {
- LogManager.debug("ˮƽ»¬¶¯£ºy=" + yPercent + ", x´Ó" + xStart + "µ½" + xEnd);
- hid.swipHPercent(xStart, yPercent, xEnd, yPercent,
- GlobalConfig.swipeDuration, GlobalConfig.swipePause, 1);
- sleep(GlobalConfig.swipePause);
- LogManager.success("»¬¶¯³É¹¦");
- return true;
- } catch (e) {
- LogManager.error("»¬¶¯Ê§°Ü£º" + e);
- return false;
- }
- },
-
- swipeCustom: function(x1, y1, x2, y2, duration) {
- try {
- duration = duration || GlobalConfig.swipeDuration;
- LogManager.debug("×Ô¶¨Ò廬¶¯£º´Ó (" + x1 + "," + y1 + ") µ½ (" + x2 + "," + y2 + ")");
- hid.swip(x1, y1, x2, y2, 50, duration, 1);
- sleep(GlobalConfig.swipePause);
- LogManager.success("»¬¶¯³É¹¦");
- return true;
- } catch (e) {
- LogManager.error("»¬¶¯Ê§°Ü£º" + e);
- return false;
- }
- }
- };
- /**
- * OCR ËÑË÷¹ÜÀíÆ÷ - Îı¾²éÕÒ
- */
- var OcrSearchManager = {
- findExactText: function(ocrResult, text, region) {
- try {
- LogManager.debug("¾«È·²éÕÒ£º\"" + text + "\"");
- var result = ocrResult.findText(text, region || GlobalConfig.ocrRegion);
- if (result) {
- LogManager.success("ÕÒµ½Îı¾");
- } else {
- LogManager.warning("δÕÒµ½Îı¾");
- }
- return result;
- } catch (e) {
- LogManager.error("²éÕÒʧ°Ü£º" + e);
- return null;
- }
- },
-
- findIncludeText: function(ocrResult, text, region) {
- try {
- LogManager.debug("°üº¬²éÕÒ£º\"" + text + "\"");
- var result = ocrResult.findIncludeText(text, region || GlobalConfig.ocrRegion);
- if (result) {
- LogManager.success("ÕÒµ½Îı¾");
- } else {
- LogManager.warning("δÕÒµ½Îı¾");
- }
- return result;
- } catch (e) {
- LogManager.error("²éÕÒʧ°Ü£º" + e);
- return null;
- }
- },
-
- findRegex: function(ocrResult, regex, region) {
- try {
- LogManager.debug("ÕýÔò²éÕÒ£º\"" + regex + "\"");
- var results = ocrResult.findRegex(regex, region || GlobalConfig.ocrRegion);
- LogManager.success("ÕÒµ½ " + results.length + " ¸öÆ¥Åä");
- return results;
- } catch (e) {
- LogManager.error("²éÕÒʧ°Ü£º" + e);
- return [];
- }
- },
-
- getAllText: function(ocrResult) {
- try {
- var allDetects = ocrResult.getAllDetect();
- var texts = [];
- for (var i = 0; i < allDetects.length; i++) {
- // ÐÞÕý£ºÊ¹Óà .text ÊôÐÔ¶ø²»ÊÇ getText() ·½·¨
- if (allDetects[i] && allDetects[i].text) {
- texts.push(allDetects[i].text);
- }
- }
- LogManager.debug("»ñÈ¡µ½ " + texts.length + " ¸öÎı¾");
- return texts;
- } catch (e) {
- LogManager.error("»ñÈ¡Îı¾Ê§°Ü£º" + e);
- return [];
- }
- }
- };
- /**
- * Ó¦ÓùÜÀíÆ÷ - Ó¦ÓÿØÖÆ
- */
- var AppManager = {
- installedApps: [],
-
- getInstalledApps: function() {
- try {
- LogManager.info("»ñÈ¡ÒѰ²×°Ó¦ÓÃÁбí...");
- // ¼ÙÉèÓÐ app.getInstalledApps() ·½·¨
- // this.installedApps = app.getInstalledApps();
- LogManager.success("»ñÈ¡µ½ " + this.installedApps.length + " ¸öÓ¦ÓÃ");
- return this.installedApps;
- } catch (e) {
- LogManager.error("»ñȡӦÓÃÁбíʧ°Ü£º" + e);
- return [];
- }
- },
-
- launchApp: function(packageName) {
- try {
- LogManager.info("Æô¶¯Ó¦Óãº" + packageName);
- // app.launch(packageName);
- sleep(2000);
- LogManager.success("Ó¦ÓÃÒÑÆô¶¯");
- return true;
- } catch (e) {
- LogManager.error("Æô¶¯Ó¦ÓÃʧ°Ü£º" + e);
- return false;
- }
- },
-
- switchToApp: function(appName) {
- try {
- LogManager.info("Çл»µ½Ó¦Óãº" + appName);
- // ʹÓà OCR ²éÕÒ²¢µã»÷Ó¦ÓÃͼ±ê
- var image = ScreenManager.captureFull();
- if (!image) return false;
-
- var ocrResult = ScreenManager.recognizeText(image);
- if (!ocrResult) return false;
-
- var target = OcrSearchManager.findExactText(ocrResult, appName);
- if (target) {
- return ClickManager.clickOcrTarget(target);
- } else {
- LogManager.error("δÕÒµ½Ó¦Óãº" + appName);
- return false;
- }
- } catch (e) {
- LogManager.error("Çл»Ó¦ÓÃʧ°Ü£º" + e);
- return false;
- }
- }
- };
- /**
- * Êý¾Ý¹ÜÀíÆ÷ - Map ´æ´¢/ÀúÊ·¼Ç¼
- */
- var DataManager = {
- dataMap: null,
- history: [],
-
- init: function() {
- if (typeof Map !== "undefined") {
- this.dataMap = new Map();
- LogManager.debug("Map ³õʼ»¯³É¹¦");
- } else {
- this.dataMap = { keys: [], values: [] };
- LogManager.debug("½µ¼¶ Map ³õʼ»¯³É¹¦");
- }
- },
-
- put: function(key, value) {
- try {
- if (this.dataMap.add) {
- this.dataMap.add(key, value);
- } else {
- var index = this.dataMap.keys.indexOf(key);
- if (index === -1) {
- this.dataMap.keys.push(key);
- this.dataMap.values.push(value);
- } else {
- this.dataMap.values[index] = value;
- }
- }
- LogManager.debug("´æ´¢Êý¾Ý£º" + key + " = " + value);
- } catch (e) {
- LogManager.error("´æ´¢Êý¾Ýʧ°Ü£º" + e);
- }
- },
-
- get: function(key) {
- try {
- if (this.dataMap.get) {
- return this.dataMap.get(key);
- } else {
- var index = this.dataMap.keys.indexOf(key);
- return index !== -1 ? this.dataMap.values[index] : null;
- }
- } catch (e) {
- LogManager.error("»ñÈ¡Êý¾Ýʧ°Ü£º" + e);
- return null;
- }
- },
-
- addHistory: function(action) {
- if (!GlobalConfig.enableHistory) return;
-
- this.history.push({
- action: action,
- timestamp: Date.now()
- });
-
- // ÏÞÖÆÀúÊ·¼Ç¼ÊýÁ¿
- if (this.history.length > 100) {
- this.history.shift();
- }
-
- LogManager.debug("Ìí¼ÓÀúÊ·¼Ç¼£º" + action);
- },
-
- getHistory: function() {
- return this.history;
- }
- };
- // ==================== µÚËIJ¿·Ö£º¸ß¼¶¹¦ÄÜÄ£¿é ====================
- /**
- * ×Ô¶¯»¯ÈÎÎñÒýÇæ
- */
- var AutomationEngine = {
- isRunning: false,
- currentTask: null,
-
- startTask: function(taskName, taskFunction) {
- if (this.isRunning) {
- LogManager.warning("ÒÑÓÐÈÎÎñÕýÔÚÔËÐÐ");
- return false;
- }
-
- try {
- this.isRunning = true;
- this.currentTask = taskName;
- LogManager.info("¿ªÊ¼ÈÎÎñ£º" + taskName);
- DataManager.addHistory("Æô¶¯ÈÎÎñ£º" + taskName);
-
- taskFunction();
-
- LogManager.success("ÈÎÎñÍê³É£º" + taskName);
- DataManager.addHistory("Íê³ÉÈÎÎñ£º" + taskName);
- } catch (e) {
- LogManager.error("ÈÎÎñÖ´ÐÐʧ°Ü£º" + e);
- } finally {
- this.isRunning = false;
- this.currentTask = null;
- }
- },
-
- stopTask: function() {
- if (!this.isRunning) {
- LogManager.warning("ûÓÐÕýÔÚÔËÐеÄÈÎÎñ");
- return;
- }
-
- LogManager.info("Í£Ö¹ÈÎÎñ£º" + this.currentTask);
- this.isRunning = false;
- DataManager.addHistory("Í£Ö¹ÈÎÎñ£º" + this.currentTask);
- }
- };
- /**
- * ÖÇÄܾö²ßϵͳ
- */
- var AIDecisionSystem = {
- decide: function(options) {
- if (!GlobalConfig.enableAI) {
- return options[0]; // ·µ»ØµÚÒ»¸öÑ¡Ïî
- }
-
- // ¸ù¾ÝÈ¨ÖØËæ»úÑ¡Ôñ
- var totalWeight = 0;
- for (var i = 0; i < options.length; i++) {
- totalWeight += (options[i].weight || 1);
- }
-
- var random = RandomHelper.randFloat(0, totalWeight);
- var currentWeight = 0;
-
- for (var i = 0; i < options.length; i++) {
- currentWeight += (options[i].weight || 1);
- if (random <= currentWeight) {
- LogManager.debug("AI ¾ö²ßÑ¡Ôñ£º" + (options[i].name || ("Ñ¡Ïî" + i)));
- return options[i];
- }
- }
-
- return options[0];
- },
-
- analyze: function(ocrResult) {
- if (!GlobalConfig.enableAI) return null;
-
- try {
- // ✅ ÐÞÕý£ºµ÷Óà OcrSearchManager.getAllText ¶ø²»ÊÇ this.getAllText
- var texts = OcrSearchManager.getAllText(ocrResult);
- LogManager.info("AI ·ÖÎö£º" + texts.length + " ¸öÎı¾ÔªËØ");
-
- // ¼òµ¥·ÖÎöÂß¼£¨¿ÉÀ©Õ¹Îª¸´ÔÓ AI£©
- return {
- textCount: texts.length,
- keywords: this.extractKeywords(texts),
- confidence: 0.8
- };
- } catch (e) {
- LogManager.error("AI ·ÖÎöʧ°Ü£º" + e);
- return null;
- }
- },
-
- extractKeywords: function(texts) {
- var keywords = ["È·¶¨", "È¡Ïû", "¿ªÊ¼", "ÉèÖÃ", "ÏÂÒ»²½"];
- var found = [];
-
- for (var i = 0; i < texts.length; i++) {
- for (var j = 0; j < keywords.length; j++) {
- if (texts[i].indexOf(keywords[j]) !== -1) {
- found.push(texts[i]);
- }
- }
- }
-
- return found;
- }
- };
- // ==================== µÚÎ岿·Ö£ºÊµÕ½°¸ÀýÑÝʾ ====================
- /**
- * °¸Àý 1: ×Ô¶¯Æô¶¯Ó¦Óò¢µ¼º½
- */
- function demo_autoLaunchAndNavigate() {
- LogManager.info("=== °¸Àý 1: ×Ô¶¯Æô¶¯Ó¦Óò¢µ¼º½ ===");
-
- var targetApp = "΢ÐÅ";
-
- // ²½Öè 1: Æô¶¯Ó¦ÓÃ
- if (!AppManager.launchApp(targetApp)) {
- LogManager.error("Æô¶¯Ê§°Ü£¬ÖÕÖ¹Á÷³Ì");
- return;
- }
-
- sleep(3000);
-
- // ²½Öè 2: ½ØÍ¼Ê¶±ð
- var image = ScreenManager.captureFull();
- if (!image) return;
-
- var ocrResult = ScreenManager.recognizeText(image);
- if (!ocrResult) return;
-
- // ²½Öè 3: ²éÕÒ²¢µã»÷Ä¿±ê°´Å¥
- var targetBtn = OcrSearchManager.findIncludeText(ocrResult, "·¢ÏÖ");
- if (targetBtn) {
- ClickManager.clickOcrTarget(targetBtn);
- LogManager.success("ÒѽøÈë·¢ÏÖÒ³Ãæ");
- }
-
- sleep(2000);
-
- // ²½Öè 4: ÏòÏ»¬¶¯ä¯ÀÀ
- SwipeManager.swipeVertical(0.5, 0.8, 0.2);
-
- LogManager.success("°¸Àý 1 Íê³É");
- }
- /**
- * °¸Àý 2: ÖÇÄÜÑ»·ÈÎÎñ
- */
- function demo_smartLoopTask() {
- LogManager.info("=== °¸Àý 2: ÖÇÄÜÑ»·ÈÎÎñ ===");
-
- var maxLoops = 5;
- var loopCount = 0;
-
- while (loopCount < maxLoops) {
- loopCount++;
- LogManager.info("µÚ " + loopCount + " ´ÎÑ»·");
-
- // ½ØÍ¼·ÖÎö
- var image = ScreenManager.captureFull();
- var ocrResult = ScreenManager.recognizeText(image);
-
- // AI ¾ö²ß
- var analysis = AIDecisionSystem.analyze(ocrResult);
- if (analysis && analysis.keywords.length > 0) {
- LogManager.info("AI ¼ì²âµ½¹Ø¼ü´Ê£º" + analysis.keywords.join(", "));
- }
-
- // Ëæ»ú»¬¶¯
- var direction = RandomHelper.randBool() ? "up" : "down";
- if (direction === "up") {
- SwipeManager.swipeVertical(0.5, 0.8, 0.2);
- } else {
- SwipeManager.swipeVertical(0.5, 0.2, 0.8);
- }
-
- sleep(RandomHelper.randInt(1000, 2000));
-
- // ¼Ç¼ÀúÊ·
- DataManager.addHistory("Ñ»· " + loopCount);
- }
-
- LogManager.success("°¸Àý 2 Íê³É£¬¹²Ñ»· " + loopCount + " ´Î");
- }
- /**
- * °¸Àý 3: ¶à²½Öè±íµ¥Ìîд
- */
- function demo_formAutomation() {
- LogManager.info("=== °¸Àý 3: ¶à²½Öè±íµ¥Ìîд ===");
-
- var formData = {
- username: "test_user",
- password: "123456",
- confirm: true
- };
-
- // ²½Öè 1: ÕÒµ½ÊäÈë¿ò²¢µã»÷
- var image = ScreenManager.captureFull();
- var ocrResult = ScreenManager.recognizeText(image);
-
- var inputField = OcrSearchManager.findIncludeText(ocrResult, "Óû§Ãû");
- if (inputField) {
- ClickManager.clickOcrTarget(inputField);
- sleep(500);
-
- // Ä£ÄâÊäÈë (ʵ¼ÊÐèҪʹÓà hid.inputSimple)
- LogManager.info("ÊäÈëÓû§Ãû£º" + formData.username);
- // hid.inputSimple(formData.username);
- }
-
- sleep(1000);
-
- // ²½Öè 2: ²éÕÒÃÜÂë¿ò
- var passwordField = OcrSearchManager.findIncludeText(ocrResult, "ÃÜÂë");
- if (passwordField) {
- ClickManager.clickOcrTarget(passwordField);
- sleep(500);
-
- LogManager.info("ÊäÈëÃÜÂë");
- // hid.inputSimple(formData.password);
- }
-
- sleep(1000);
-
- // ²½Öè 3: ¹´Ñ¡¸´Ñ¡¿ò (Èç¹ûÓÐ)
- if (formData.confirm) {
- var checkbox = OcrSearchManager.findIncludeText(ocrResult, "ͬÒâ");
- if (checkbox) {
- ClickManager.clickOcrTarget(checkbox);
- LogManager.info("Òѹ´Ñ¡Í¬ÒâÐÒé");
- }
- }
-
- sleep(1000);
-
- // ²½Öè 4: µã»÷Ìá½»°´Å¥
- var submitBtn = OcrSearchManager.findExactText(ocrResult, "怬");
- if (submitBtn) {
- ClickManager.clickOcrTarget(submitBtn);
- LogManager.success("±íµ¥Ìá½»Íê³É");
- }
- }
- /**
- * °¸Àý 4: ´íÎó´¦ÀíÓë×ÔÓú
- */
- function demo_errorRecovery() {
- LogManager.info("=== °¸Àý 4: ´íÎó´¦ÀíÓë×ÔÓú ===");
-
- var retryCount = 0;
- var maxRetry = GlobalConfig.maxRetryTimes;
- var success = false;
-
- while (!success && retryCount < maxRetry) {
- try {
- retryCount++;
- LogManager.info("µÚ " + retryCount + " ´Î³¢ÊÔ");
-
- // Ä£Äâ¿ÉÄÜʧ°ÜµÄ²Ù×÷
- var image = ScreenManager.captureFull();
- if (!image) {
- throw new Error("½ØÍ¼Ê§°Ü");
- }
-
- var ocrResult = ScreenManager.recognizeText(image);
- if (!ocrResult) {
- throw new Error("OCR ʧ°Ü");
- }
-
- // ²éÕÒÄ¿±ê
- var target = OcrSearchManager.findIncludeText(ocrResult, "Ä¿±ê°´Å¥");
- if (!target) {
- throw new Error("δÕÒµ½Ä¿±ê");
- }
-
- // µã»÷
- if (ClickManager.clickOcrTarget(target)) {
- success = true;
- LogManager.success("²Ù×÷³É¹¦");
- } else {
- throw new Error("µã»÷ʧ°Ü");
- }
-
- } catch (e) {
- LogManager.error("³¢ÊÔʧ°Ü£º" + e);
-
- if (retryCount < maxRetry) {
- LogManager.info("µÈ´ýºóÖØÊÔ...");
- sleep(2000);
- } else {
- LogManager.error("´ïµ½×î´óÖØÊÔ´ÎÊý£¬·ÅÆú");
- }
- }
- }
-
- if (success) {
- LogManager.success("°¸Àý 4 Íê³É£¨×ÔÓú³É¹¦£©");
- } else {
- LogManager.error("°¸Àý 4 ʧ°Ü£¨ÎÞ·¨»Ö¸´£©");
- }
- }
- // ==================== µÚÁù²¿·Ö£ºÖ÷³ÌÐòÈë¿Ú ====================
- /**
- * ³õʼ»¯ÏµÍ³
- */
- function initSystem() {
- LogManager.info("¨X¨T¨T¨T¨T¨T¨T¨T¨T¨T¨T¨T¨T¨T¨T¨T¨T¨T¨T¨T¨T¨T¨T¨T¨T¨T¨T¨T¨T¨T¨T¨T¨T¨T¨T¨T¨T¨T¨T¨T¨T¨T¨T¨T¨T¨[");
- LogManager.info("¨U AIWROK ÖÇÄÜÓ¦ÓùÜÀíÆ÷ Pro Max ¨U");
- LogManager.info("¨U °æ±¾£º" + GlobalConfig.version + " ¨U");
- LogManager.info("¨U ×÷Õߣº" + GlobalConfig.author + " ¨U");
- LogManager.info("¨^¨T¨T¨T¨T¨T¨T¨T¨T¨T¨T¨T¨T¨T¨T¨T¨T¨T¨T¨T¨T¨T¨T¨T¨T¨T¨T¨T¨T¨T¨T¨T¨T¨T¨T¨T¨T¨T¨T¨T¨T¨T¨T¨T¨T¨a");
-
- sleep(1000);
-
- // ³õʼ»¯¸÷Ä£¿é
- ScreenManager.init();
- DataManager.init();
-
- LogManager.success("ϵͳ³õʼ»¯Íê³É");
- sleep(1000);
- }
- /**
- * Ö÷º¯Êý
- */
- function main() {
- // ³õʼ»¯
- initSystem();
-
- // Ñ¡ÔñÒªÖ´ÐеݸÀý
- var demos = [
- { name: "°¸Àý 1: ×Ô¶¯Æô¶¯Ó¦Óò¢µ¼º½", func: demo_autoLaunchAndNavigate },
- { name: "°¸Àý 2: ÖÇÄÜÑ»·ÈÎÎñ", func: demo_smartLoopTask },
- { name: "°¸Àý 3: ¶à²½Öè±íµ¥Ìîд", func: demo_formAutomation },
- { name: "°¸Àý 4: ´íÎó´¦ÀíÓë×ÔÓú", func: demo_errorRecovery }
- ];
-
- // Ö´ÐÐËùÓÐÑÝʾ
- for (var i = 0; i < demos.length; i++) {
- LogManager.info("\n>>> ×¼±¸Ö´ÐУº" + demos[i].name);
- sleep(2000);
-
- AutomationEngine.startTask(demos[i].name, demos[i].func);
-
- sleep(3000);
- }
-
- // ÏÔʾͳ¼ÆÐÅÏ¢
- LogManager.info("\n¨X¨T¨T¨T¨T¨T¨T¨T¨T¨T¨T¨T¨T¨T¨T¨T¨T¨T¨T¨T¨T¨T¨T¨T¨T¨T¨T¨T¨T¨T¨T¨T¨T¨T¨T¨T¨T¨T¨T¨T¨T¨T¨T¨T¨T¨[");
- LogManager.info("¨U ËùÓÐÑÝʾÍê³É£¡ ¨U");
- LogManager.info("¨^¨T¨T¨T¨T¨T¨T¨T¨T¨T¨T¨T¨T¨T¨T¨T¨T¨T¨T¨T¨T¨T¨T¨T¨T¨T¨T¨T¨T¨T¨T¨T¨T¨T¨T¨T¨T¨T¨T¨T¨T¨T¨T¨T¨T¨a");
-
- var history = DataManager.getHistory();
- LogManager.info("ÀúÊ·¼Ç¼ÊýÁ¿£º" + history.length);
-
- // Êä³öÀúÊ·
- for (var i = 0; i < Math.min(5, history.length); i++) {
- LogManager.debug(history[i].action);
- }
- }
- // ÔËÐÐÖ÷³ÌÐò
- main();
- /**
- * ============================================
- * À©Õ¹ËµÃ÷:
- *
- * 1. Ìí¼Óй¦ÄÜ:
- * - ÔÚ¶ÔÓ¦ Manager ÖÐÌí¼Ó·½·¨
- * - ×ñÑÏÖÓдúÂë·ç¸ñ
- *
- * 2. ×Ô¶¨ÒåÈÎÎñ:
- * - ²Î¿¼ demo_* º¯Êý½á¹¹
- * - ×éºÏʹÓø÷ Manager ¹¦ÄÜ
- *
- * 3. µ÷ÊÔ¼¼ÇÉ:
- * - ÉèÖÃ GlobalConfig.debugMode = true
- * - ²é¿´ LogManager.debug Êä³ö
- *
- * 4. ÐÔÄÜÓÅ»¯:
- * - ÆôÓà OCR Ëø¼õÉÙÖØ¸´½ØÍ¼
- * - ºÏÀíÉèÖÃÑÓ³Ùʱ¼ä
- *
- * 5. ×î¼Ñʵ¼ù:
- * - ×ÜÊǽøÐдíÎó´¦Àí
- * - ¼Ç¼¹Ø¼ü²Ù×÷ÈÕÖ¾
- * - ʹÓÃÖØÊÔ»úÖÆÌá¸ßÎȶ¨ÐÔ
- * ============================================
- */
¸´ÖÆ´úÂë
|
|