B2BÍøÂçÈí¼þ

 ÕÒ»ØÃÜÂë
 Á¢¼´×¢²á ÉóºËÍøÕ¾ºÅ:QQ:896757558
ËÑË÷
²é¿´: 2|»Ø¸´: 0
´òÓ¡ ÉÏÒ»Ö÷Ìâ ÏÂÒ»Ö÷Ìâ

Æ»¹ûiOS½Å±¾DetectÀàϵͳÐÔʹÓÃʾÀý

[¸´ÖÆÁ´½Ó]

1056

Ö÷Ìâ

1061

Ìû×Ó

7501

»ý·Ö

abc

Rank: 9Rank: 9Rank: 9

»ý·Ö
7501
Ìø×ªµ½Ö¸¶¨Â¥²ã
Â¥Ö÷

Æ»¹ûiOS½Å±¾DetectÀàϵͳÐÔʹÓÃʾÀý
Æ»¹ûiOS½Å±¾DetectÀàϵͳÐÔʹÓÃʾÀý B2BÍøÂçÈí¼þ

Æ»¹ûiOS½Å±¾DetectÀàϵͳÐÔʹÓÃʾÀý B2BÍøÂçÈí¼þ




  1. /*
  2.    Æ»¹ûiOS DetectÀàϵͳÐÔʹÓÃʾÀý
  3.    »¶Ó­Ê¹ÓÃAiWorkÆ»¹û×Ô¶¯»¯IDE
  4.    °ïÖúÎĵµ: https://www.yuque.com/aiwork/
  5.    ¹Ù·½µØÖ·: www.aiwork24.com
  6.    
  7.    🍎½»Á÷QQȺ£º711841924£¨ÈºÒ» - Æ»¹ûÄÚ²âȺ£©
  8.    🍎½»Á÷QQȺ£º528816639
  9.    
  10.    ±¾Ê¾ÀýÌṩÁËDetectÀàµÄÍêÕûʹÓ÷½·¨£¬Õë¶ÔiOSƽ̨½øÐÐÁËÓÅ»¯
  11.    °üº¬ÏµÍ³»¯µÄ´íÎó´¦ÀíºÍʵÓõÄ×Ô¶¯»¯°¸Àý
  12. */

  13. /**
  14. * DetectÀà·½·¨¸ÅÀÀ
  15. *
  16. * 1. score() - »ñÈ¡¼ì²â·ÖÊý£¨ÖÃÐŶȣ©
  17. * 2. getRect() - »ñÈ¡¼ì²âÇøÓò×ø±ê
  18. * 3. click() - µã»÷Ä¿±êÖÐÐĵã
  19. * 4. clickRandom() - ÔÚÄ¿±êÇøÓòÄÚËæ»úµã»÷
  20. * 5. x, y, width, height - ÊôÐÔ£ºÄ¿±êµÄλÖúͳߴç
  21. * 6. text - ÊôÐÔ£ºÊ¶±ðµ½µÄÎı¾ÄÚÈÝ
  22. */

  23. /**
  24. * ¹¤¾ßº¯Êý£º»ñÈ¡µ±Ç°Ê±¼ä´Á
  25. * @returns {string} ¸ñʽ»¯µÄʱ¼ä´Á
  26. */
  27. function getTimestamp() {
  28.     var date = new Date();
  29.     var year = date.getFullYear();
  30.     var month = (date.getMonth() + 1).toString().padStart(2, '0');
  31.     var day = date.getDate().toString().padStart(2, '0');
  32.     var hours = date.getHours().toString().padStart(2, '0');
  33.     var minutes = date.getMinutes().toString().padStart(2, '0');
  34.     var seconds = date.getSeconds().toString().padStart(2, '0');
  35.     return year + '-' + month + '-' + day + ' ' + hours + ':' + minutes + ':' + seconds;
  36. }

  37. /**
  38. * ¹¤¾ßº¯Êý£º×èÈûʽÑÓ³Ù
  39. * @param {number} ms ÑÓ³Ùʱ¼ä£¨ºÁÃ룩
  40. */
  41. function sleep(ms) {
  42.     var start = Date.now();
  43.     while (Date.now() - start < ms) {
  44.         // ×èÈûµÈ´ý
  45.     }
  46. }

  47. /**
  48. * ¹¤¾ßº¯Êý£ºÈÕÖ¾Êä³ö
  49. * @param {string} message ÈÕÖ¾ÏûÏ¢
  50. */
  51. function log(message) {
  52.     print.log('[' + getTimestamp() + '] ' + message);
  53. }

  54. /**
  55. * ¹¤¾ßº¯Êý£º°²È«µÄOCRʶ±ð
  56. * @param {number[]} rect ʶ±ðÇøÓò [x1, y1, x2, y2]
  57. * @returns {object} OCR½á¹û¶ÔÏó»ònull
  58. */
  59. function safeOcr(rect) {
  60.     try {
  61.         var ocrResult = screen.ocr(rect[0], rect[1], rect[2], rect[3]);
  62.         return ocrResult;
  63.     } catch (e) {
  64.         print.log('OCRʶ±ðʧ°Ü: ' + e.message);
  65.         return null;
  66.     }
  67. }

  68. /**
  69. * ¹¤¾ßº¯Êý£º°²È«µÄ½ØÍ¼
  70. * @returns {object} ½ØÍ¼¶ÔÏó»ònull
  71. */
  72. function safeScreenshot() {
  73.     try {
  74.         var screenshot = screen.screenShotFull();
  75.         return screenshot;
  76.     } catch (e) {
  77.         printl('½ØÍ¼Ê§°Ü: ' + e.message);
  78.         return null;
  79.     }
  80. }

  81. /**
  82. * ʾÀý1: DetectÀà»ù±¾·½·¨ÑÝʾ
  83. * չʾDetectÀàµÄºËÐÄ·½·¨Ê¹ÓÃ
  84. */
  85. function basicDetectMethods() {
  86.     print.log('==== ʾÀý1: DetectÀà»ù±¾·½·¨ÑÝʾ ====');
  87.    
  88.     try {
  89.         // Ö´ÐÐOCRʶ±ð
  90.         var ocrResult = safeOcr([0, 0, 1, 1]);
  91.         if (!ocrResult) {
  92.             print.log('ÎÞ·¨»ñÈ¡OCR½á¹û£¬Ìø¹ý´ËʾÀý');
  93.             return;
  94.         }
  95.         
  96.         // »ñÈ¡ËùÓмì²âÄ¿±ê
  97.         var detects = ocrResult.getAllDetect();
  98.         print.log('ʶ±ðµ½ ' + detects.length + ' ¸öÄ¿±ê');
  99.         
  100.         if (detects.length > 0) {
  101.             // ·ÖÎöǰ3¸öÄ¿±ê
  102.             var maxTargets = Math.min(detects.length, 3);
  103.             for (var i = 0; i < maxTargets; i++) {
  104.                 var detect = detects[i];
  105.                 print.log('\nÄ¿±ê ' + (i + 1) + ':');
  106.                
  107.                 // »ñÈ¡¼ì²â·ÖÊý
  108.                 try {
  109.                     var score = detect.score();
  110.                     print.log('  ÖÃÐŶÈ: ' + score.toFixed(2));
  111.                 } catch (e) {
  112.                     print.log('  »ñÈ¡ÖÃÐŶÈʧ°Ü: ' + e.message);
  113.                 }
  114.                
  115.                 // »ñÈ¡¼ì²âÇøÓò
  116.                 try {
  117.                     var rect = detect.getRect();
  118.                     print.log('  ÇøÓò×ø±ê: ' + rect);
  119.                 } catch (e) {
  120.                     print.log('  »ñÈ¡ÇøÓò×ø±êʧ°Ü: ' + e.message);
  121.                 }
  122.                
  123.                 // ·ÃÎÊÊôÐÔ
  124.                 try {
  125.                     print.log('  Îı¾ÄÚÈÝ: ' + (detect.text || 'ÎÞÎı¾'));
  126.                     print.log('  Î»ÖÃ: x=' + detect.x + ', y=' + detect.y);
  127.                     print.log('  ³ß´ç: width=' + detect.width + ', height=' + detect.height);
  128.                 } catch (e) {
  129.                     print.log('  ·ÃÎÊÊôÐÔʧ°Ü: ' + e.message);
  130.                 }
  131.             }
  132.         } else {
  133.             print.log('δ¼ì²âµ½ÈκÎÄ¿±ê');
  134.         }
  135.         
  136.     } catch (e) {
  137.         print.log('ʾÀý1Ö´ÐÐʧ°Ü: ' + e.message);
  138.     }
  139. }

  140. /**
  141. * ʾÀý2: ¾«È·Îı¾²éÕÒÓëµã»÷
  142. * ʹÓÃfindText·½·¨²éÕÒ¾«È·Îı¾²¢Ö´Ðеã»÷²Ù×÷
  143. */
  144. function exactTextClick() {
  145.     print.log('\n==== ʾÀý2: ¾«È·Îı¾²éÕÒÓëµã»÷ ====');
  146.    
  147.     try {
  148.         var ocrResult = safeOcr([0, 0, 1, 1]);
  149.         if (!ocrResult) {
  150.             print.log('ÎÞ·¨»ñÈ¡OCR½á¹û£¬Ìø¹ý´ËʾÀý');
  151.             return;
  152.         }
  153.         
  154.         // ¶¨ÒåÒª²éÕҵij£¼û°´Å¥Îı¾
  155.         var targetTexts = ['È·¶¨', 'È¡Ïû', 'Íê³É', 'ÏÂÒ»²½', '¹Ø±Õ', '±£´æ'];
  156.         var found = false;
  157.         
  158.         for (var i = 0; i < targetTexts.length; i++) {
  159.             var text = targetTexts[i];
  160.             var target = ocrResult.findText(text, [0, 0, 1, 1]);
  161.             
  162.             if (target != null) {
  163.                 print.log('ÕÒµ½Îı¾: "' + text + '"');
  164.                 print.log('  ÖÃÐŶÈ: ' + target.score().toFixed(2));
  165.                 print.log('  ÇøÓò: ' + target.getRect());
  166.                
  167.                 // ÑÝʾµã»÷²Ù×÷£¨Êµ¼ÊʹÓÃʱȡÏû×¢ÊÍ£©
  168.                 print.log('  ×¼±¸Ö´Ðеã»÷²Ù×÷...');
  169.                 // target.click(); // µã»÷ÖÐÐĵã
  170.                 // target.clickRandom(); // Ëæ»úµã»÷
  171.                 print.log('  µã»÷²Ù×÷ÒÑÄ£ÄâÖ´ÐÐ');
  172.                
  173.                 found = true;
  174.                 break;
  175.             }
  176.         }
  177.         
  178.         if (!found) {
  179.             print.log('δÕÒµ½Ô¤¶¨ÒåµÄÄ¿±êÎı¾');
  180.         }
  181.         
  182.     } catch (e) {
  183.         print.log('ʾÀý2Ö´ÐÐʧ°Ü: ' + e.message);
  184.     }
  185. }

  186. /**
  187. * ʾÀý3: °üº¬Îı¾²éÕÒÓëÅúÁ¿´¦Àí
  188. * ʹÓÃfindIncludeTexts·½·¨²éÕÒ°üº¬Ìض¨Îı¾µÄËùÓÐÄ¿±ê
  189. */
  190. function includeTextSearch() {
  191.     print.log('\n==== ʾÀý3: °üº¬Îı¾²éÕÒÓëÅúÁ¿´¦Àí ====');
  192.    
  193.     try {
  194.         var ocrResult = safeOcr([0, 0, 1, 1]);
  195.         if (!ocrResult) {
  196.             print.log('ÎÞ·¨»ñÈ¡OCR½á¹û£¬Ìø¹ý´ËʾÀý');
  197.             return;
  198.         }
  199.         
  200.         // ²éÕÒ°üº¬Ìض¨¹Ø¼ü´ÊµÄÎı¾
  201.         var keyword = 'ÉèÖÃ';
  202.         var targets = ocrResult.findIncludeTexts(keyword, [0, 0, 1, 1]);
  203.         
  204.         print.log('²éÕÒ°üº¬ "' + keyword + '" µÄÎı¾£¬ÕÒµ½ ' + targets.length + ' ¸ö½á¹û');
  205.         
  206.         for (var i = 0; i < targets.length; i++) {
  207.             var target = targets[i];
  208.             print.log('  ½á¹û ' + (i + 1) + ': "' + target.text + '"');
  209.             print.log('    ÖÃÐŶÈ: ' + target.score().toFixed(2));
  210.             print.log('    ÇøÓò: ' + target.getRect());
  211.         }
  212.         
  213.     } catch (e) {
  214.         print.log('ʾÀý3Ö´ÐÐʧ°Ü: ' + e.message);
  215.     }
  216. }

  217. /**
  218. * ʾÀý4: ÕýÔò±í´ïʽÎı¾²éÕÒ
  219. * ʹÓÃfindTextWithRegex·½·¨½øÐÐģʽƥÅä
  220. */
  221. function regexTextSearch() {
  222.     print.log('\n==== ʾÀý4: ÕýÔò±í´ïʽÎı¾²éÕÒ ====');
  223.    
  224.     try {
  225.         var ocrResult = safeOcr([0, 0, 1, 1]);
  226.         if (!ocrResult) {
  227.             print.log('ÎÞ·¨»ñÈ¡OCR½á¹û£¬Ìø¹ý´ËʾÀý');
  228.             return;
  229.         }
  230.         
  231.         // ʹÓÃÕýÔò±í´ïʽ²éÕÒÊý×Ö
  232.         var regex = '\\d+';
  233.         var targets = ocrResult.findTextWithRegex(regex, [0, 0, 1, 1]);
  234.         
  235.         print.log('ʹÓÃÕýÔò±í´ïʽ "' + regex + '" ²éÕÒÊý×Ö£¬ÕÒµ½ ' + targets.length + ' ¸ö½á¹û');
  236.         
  237.         for (var i = 0; i < targets.length; i++) {
  238.             var target = targets[i];
  239.             print.log('  ½á¹û ' + (i + 1) + ': "' + target.text + '"');
  240.             print.log('    ÖÃÐŶÈ: ' + target.score().toFixed(2));
  241.             print.log('    ÇøÓò: ' + target.getRect());
  242.         }
  243.         
  244.     } catch (e) {
  245.         print.log('ʾÀý4Ö´ÐÐʧ°Ü: ' + e.message);
  246.     }
  247. }

  248. /**
  249. * ʾÀý5: ÇøÓòOCRÓëÄ¿±ê¶¨Î»
  250. * ÔÚÖ¸¶¨ÇøÓòÄÚ½øÐÐOCRʶ±ð²¢´¦Àí½á¹û
  251. */
  252. function regionOcrProcessing() {
  253.     print.log('\n==== ʾÀý5: ÇøÓòOCRÓëÄ¿±ê¶¨Î» ====');
  254.    
  255.     try {
  256.         // ¶¨ÒåÆÁÄ»ÇøÓò£¨Ê¾Àý£ºÆÁĻϰ벿·Ö£©
  257.         var region = [0, 0.5, 1, 1];
  258.         print.log('ÔÚÇøÓò [' + region[0] + ', ' + region[1] + ', ' + region[2] + ', ' + region[3] + '] ÄÚ½øÐÐOCRʶ±ð');
  259.         
  260.         var ocrResult = safeOcr(region);
  261.         if (!ocrResult) {
  262.             print.log('ÎÞ·¨»ñÈ¡OCR½á¹û£¬Ìø¹ý´ËʾÀý');
  263.             return;
  264.         }
  265.         
  266.         // »ñÈ¡ÇøÓòÄÚµÄËùÓÐÄ¿±ê
  267.         var detects = ocrResult.getAllDetect();
  268.         print.log('ÇøÓòÄÚʶ±ðµ½ ' + detects.length + ' ¸öÄ¿±ê');
  269.         
  270.         // °´ÖÃÐŶÈÅÅÐò²¢ÏÔʾǰ5¸ö
  271.         if (detects.length > 0) {
  272.             // ¼òµ¥ÅÅÐò£¨°´ÖÃÐŶȽµÐò£©
  273.             detects.sort(function(a, b) {
  274.                 return b.score() - a.score();
  275.             });
  276.             
  277.             var topTargets = Math.min(detects.length, 5);
  278.             for (var i = 0; i < topTargets; i++) {
  279.                 var detect = detects[i];
  280.                 print.log('  Ä¿±ê ' + (i + 1) + ': "' + detect.text + '" (ÖÃÐŶÈ: ' + detect.score().toFixed(2) + ')');
  281.             }
  282.         }
  283.         
  284.     } catch (e) {
  285.         print.log('ʾÀý5Ö´ÐÐʧ°Ü: ' + e.message);
  286.     }
  287. }

  288. /**
  289. * ʾÀý6: iOSÓ¦ÓÃ×Ô¶¯»¯Ê¾Àý
  290. * Ä£ÄâÒ»¸öÍêÕûµÄiOSÓ¦ÓòÙ×÷Á÷³Ì
  291. */
  292. function iosAppAutomation() {
  293.     print.log('\n==== ʾÀý6: iOSÓ¦ÓÃ×Ô¶¯»¯Ê¾Àý ====');
  294.    
  295.     try {
  296.         print.log('²½Öè1: ²éÕÒ²¢µã»÷"ÉèÖÃ"Ó¦ÓÃ');
  297.         var ocrResult1 = safeOcr([0, 0, 1, 1]);
  298.         if (!ocrResult1) {
  299.             print.log('ÎÞ·¨»ñÈ¡OCR½á¹û£¬Ìø¹ý×Ô¶¯»¯Ê¾Àý');
  300.             return;
  301.         }
  302.         
  303.         var settingsTarget = ocrResult1.findText('ÉèÖÃ', [0, 0, 1, 1]);
  304.         if (settingsTarget != null) {
  305.             print.log('ÕÒµ½"ÉèÖÃ"Ó¦Óã¬×¼±¸µã»÷');
  306.             // settingsTarget.click();
  307.             print.log('Ä£Äâµã»÷"ÉèÖÃ"Ó¦ÓÃ');
  308.             
  309.             // µÈ´ýÓ¦ÓÃÆô¶¯
  310.             sleep(3000);
  311.             
  312.             print.log('²½Öè2: ²éÕÒ²¢µã»÷"ͨÓÃ"Ñ¡Ïî');
  313.             var ocrResult2 = safeOcr([0, 0, 1, 1]);
  314.             if (ocrResult2) {
  315.                 var generalTarget = ocrResult2.findText('ͨÓÃ', [0, 0, 1, 1]);
  316.                 if (generalTarget != null) {
  317.                     print.log('ÕÒµ½"ͨÓÃ"Ñ¡Ï׼±¸µã»÷');
  318.                     // generalTarget.click();
  319.                     print.log('Ä£Äâµã»÷"ͨÓÃ"Ñ¡Ïî');
  320.                 } else {
  321.                     print.log('δÕÒµ½"ͨÓÃ"Ñ¡Ïî');
  322.                 }
  323.             }
  324.         } else {
  325.             print.log('δÕÒµ½"ÉèÖÃ"Ó¦ÓÃ');
  326.         }
  327.         
  328.         // ÑÝʾµã»÷µ×²¿µ¼º½À¸°´Å¥
  329.         print.log('\n²½Öè3: ÑÝʾµã»÷µ×²¿µ¼º½À¸°´Å¥');
  330.         var ocrResult3 = safeOcr([0, 0, 1, 1]);
  331.         if (ocrResult3) {
  332.             // ²éÕÒ²¢µã»÷"Èí¼þ"°´Å¥
  333.             var softwareTarget = ocrResult3.findText('Èí¼þ', [0, 0, 1, 1]);
  334.             if (softwareTarget != null) {
  335.                 print.log('ÕÒµ½"Èí¼þ"°´Å¥£¬×¼±¸µã»÷');
  336.                 // softwareTarget.click();
  337.                 print.log('Ä£Äâµã»÷"Èí¼þ"°´Å¥');
  338.                 sleep(2000);
  339.             } else {
  340.                 print.log('δÕÒµ½"Èí¼þ"°´Å¥');
  341.             }
  342.             
  343.             // ²éÕÒ²¢µã»÷"ÈÕÖ¾"°´Å¥
  344.             var logTarget = ocrResult3.findText('ÈÕÖ¾', [0, 0, 1, 1]);
  345.             if (logTarget != null) {
  346.                 print.log('ÕÒµ½"ÈÕÖ¾"°´Å¥£¬×¼±¸µã»÷');
  347.                 // logTarget.click();
  348.                 print.log('Ä£Äâµã»÷"ÈÕÖ¾"°´Å¥');
  349.                 sleep(2000);
  350.             } else {
  351.                 print.log('δÕÒµ½"ÈÕÖ¾"°´Å¥');
  352.             }
  353.             
  354.             // ²éÕÒ²¢µã»÷"ÉèÖÃ"°´Å¥
  355.             var settingsNavTarget = ocrResult3.findText('ÉèÖÃ', [0, 0, 1, 1]);
  356.             if (settingsNavTarget != null) {
  357.                 print.log('ÕÒµ½"ÉèÖÃ"°´Å¥£¬×¼±¸µã»÷');
  358.                 // settingsNavTarget.click();
  359.                 print.log('Ä£Äâµã»÷"ÉèÖÃ"°´Å¥');
  360.                 sleep(2000);
  361.             } else {
  362.                 print.log('δÕÒµ½"ÉèÖÃ"°´Å¥');
  363.             }
  364.         }
  365.         
  366.     } catch (e) {
  367.         print.log('×Ô¶¯»¯Ê¾ÀýÖ´ÐÐʧ°Ü: ' + e.message);
  368.     }
  369. }

  370. /**
  371. * ʾÀý7: DetectÀà¸ß¼¶Ó¦Óà - Ä¿±ê¹ýÂËÓëÑ¡Ôñ
  372. * ¸ù¾ÝÌõ¼þ¹ýÂ˺ÍÑ¡Ôñ¼ì²âÄ¿±ê
  373. */
  374. function advancedTargetSelection() {
  375.     print.log('\n==== ʾÀý7: DetectÀà¸ß¼¶Ó¦Óà - Ä¿±ê¹ýÂËÓëÑ¡Ôñ ====');
  376.    
  377.     try {
  378.         var ocrResult = safeOcr([0, 0, 1, 1]);
  379.         if (!ocrResult) {
  380.             print.log('ÎÞ·¨»ñÈ¡OCR½á¹û£¬Ìø¹ý´ËʾÀý');
  381.             return;
  382.         }
  383.         
  384.         var detects = ocrResult.getAllDetect();
  385.         print.log('ԭʼ¼ì²âÄ¿±êÊýÁ¿: ' + detects.length);
  386.         
  387.         // ¹ýÂËÌõ¼þ1: ÖÃÐŶȴóÓÚ0.8
  388.         var highConfidenceTargets = [];
  389.         for (var i = 0; i < detects.length; i++) {
  390.             var detect = detects[i];
  391.             if (detect.score() > 0.8) {
  392.                 highConfidenceTargets.push(detect);
  393.             }
  394.         }
  395.         
  396.         print.log('¸ßÖÃÐŶÈÄ¿±êÊýÁ¿(>0.8): ' + highConfidenceTargets.length);
  397.         
  398.         // ¹ýÂËÌõ¼þ2: Îı¾³¤¶È´óÓÚ2
  399.         var validTargets = [];
  400.         for (var j = 0; j < highConfidenceTargets.length; j++) {
  401.             var target = highConfidenceTargets[j];
  402.             if (target.text && target.text.length > 2) {
  403.                 validTargets.push(target);
  404.             }
  405.         }
  406.         
  407.         print.log('ÓÐЧĿ±êÊýÁ¿(Îı¾³¤¶È>2): ' + validTargets.length);
  408.         
  409.         // ÏÔʾ¹ýÂ˺óµÄÄ¿±ê
  410.         for (var k = 0; k < Math.min(validTargets.length, 3); k++) {
  411.             var target = validTargets[k];
  412.             print.log('  Ä¿±ê ' + (k + 1) + ': "' + target.text + '" (ÖÃÐŶÈ: ' + target.score().toFixed(2) + ')');
  413.         }
  414.         
  415.     } catch (e) {
  416.         print.log('ʾÀý7Ö´ÐÐʧ°Ü: ' + e.message);
  417.     }
  418. }

  419. /**
  420. * Ö÷º¯Êý - ÔËÐÐËùÓÐʾÀý
  421. */
  422. function main() {
  423.     print.log('Æ»¹ûiOS DetectÀàϵͳÐÔʹÓÃʾÀý');
  424.     print.log('=====================================');
  425.    
  426.     // ÔËÐи÷¸öʾÀý
  427.     basicDetectMethods();
  428.     exactTextClick();
  429.     includeTextSearch();
  430.     regexTextSearch();
  431.     regionOcrProcessing();
  432.     iosAppAutomation();
  433.     advancedTargetSelection();
  434.    
  435.     print.log('\nËùÓÐʾÀýÖ´ÐÐÍê±Ï£¡');
  436.     print.log('=====================================');
  437.     print.log('ʹÓÃ˵Ã÷:');
  438.     print.log('1. ±¾Ê¾ÀýÕë¶ÔiOSƽ̨ÓÅ»¯£¬°üº¬ÍêÕûµÄ´íÎó´¦Àí');
  439.     print.log('2. ʵ¼ÊʹÓÃʱ£¬ÇëÈ¡Ïû×¢ÊÍÏàÓ¦µÄµã»÷²Ù×÷´úÂë');
  440.     print.log('3. ¸ù¾Ý¾ßÌåÓ¦Óó¡¾°µ÷ÕûOCRÇøÓòºÍÄ¿±êÎı¾');
  441.     print.log('4. ¶ÔÓÚÁ¬Ðø²Ù×÷£¬½¨ÒéÌí¼ÓÊʵ±µÄsleepµÈ´ýʱ¼ä');
  442.     print.log('5. ¿ÉÒÔ¸ù¾ÝÐèÒªÀ©Õ¹Òì³£´¦ÀíÂß¼­');
  443. }

  444. // µ÷ÓÃÖ÷º¯ÊýÔËÐÐʾÀý
  445. main();
¸´ÖÆ´úÂë


»Ø¸´

ʹÓõÀ¾ß ¾Ù±¨

±¾°æ»ý·Ö¹æÔò

¹Ø±Õ

QQ|»ÓªÏúÈí¼þ×ÛºÏÌÖÂÛ|»ÓªÏúÈí¼þÓÐÎʱشð|»ÓªÏúÈí¼þ½Ì³Ì×¨Çø|»ÓªÏúÈí¼þPOST½Å±¾·ÖÏí|»ÓªÏúÈí¼þÆÕͨ½Å±¾·ÖÏí|»ÓªÏúÈí¼þÈí¼þ×ÊѶ|»ÓªÏúÈí¼þ¾«Æ·Èí¼þ|»ÓªÏúÈí¼þ¸üй«¸æ|ÓªÏúÈí¼þ|B2BÈí¼þ|B2BÍøÂçÈí¼þ ( ¾©ICP±¸09078825ºÅ )±¾ÍøÕ¾¿ª·¢µÄÓªÏúÈí¼þÊÇÒ»¿îеÄÍøÂçÓªÏúÈí¼þ£¬Õâ¿îÓªÏú¿ÉÒÔÈ¥ÍøÕ¾Èí¼þ£¬²©¿ÍÈí¼þ£¬B2BÈí¼þ£¬·ÖÀàÐÅÏ¢Íø·¢Ìù£¬¿ÉÒÔÇÀɳ·¢£¬¿ÉÒÔµ½°Ù¶ÈÎÄ¿âÉÏ´«WORDÎĵµ£¬¿ÉÒÔµ½Ò»Ð©ÊÇÏà²áÍøÕ¾×Ô¶¯ÉÏ´«Í¼Æ¬£¬Õâ¸ö×Ô¶¯·¢ÌûÈí¼þ×Ô´øÔÆÖ©Ö룬¼Ó¿ìÊÕ¼£¬ÓÐ6ÖÖ¶Ô½Ó´òÂë½Ó¿Ú£¬·½±ã£¬Ð§Âʸߣ¬Ëٶȿ죬¶øÇÒ¶ÔÍ϶¯µÄÑéÖ¤ÂëÈ«ÍøµÚÒ»¼Ò¶À¼ÒÖ§³Ö£¬È«²¿Ô­´´¼¼Êõ£¬¶À¼ÒÑз¢£¬Õý°æÔ­´´´ø°æÈ¨Èí¼þ¡£Ñ¡ÔñÍòÄÜÓªÏúÈí¼þ£¬¾ÍÑ¡ÔñÁËÒ»ÖÖ׬ǮµÄЧÂÊ£¬´ÓûÓб»³¬Ô½¹ý£¬Ò»Ö±ÔÚŬÁ¦Ñз¢Ð¼¼Êõ¡£·Å·ÉÃÎÏ룬½â·ÅË«ÊÖ£¬À´µã´´Ò⣬³É¾ÍÄãµÄÃÎÏ룬¾ÍÔÚÍòÄÜÓªÏúÈí¼þ¿ªÊ¼

map2

GMT+8, 2026-3-11 08:47 , Processed in 0.109013 second(s), 36 queries .

¿ìËٻظ´ ·µ»Ø¶¥²¿ ·µ»ØÁбí