B2BÍøÂçÈí¼þ

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

×Ô¶¯½ØÍ¼²¢·¢Ë͸øDEEPSEEKʶ±ðʾÀý¹ý³Ì

[¸´ÖÆÁ´½Ó]

1137

Ö÷Ìâ

1142

Ìû×Ó

7825

»ý·Ö

abc

Rank: 9Rank: 9Rank: 9

»ý·Ö
7825
Ìø×ªµ½Ö¸¶¨Â¥²ã
Â¥Ö÷
×Ô¶¯½ØÍ¼²¢·¢Ë͸øDEEPSEEKʶ±ðʾÀý¹ý³Ì
×Ô¶¯½ØÍ¼²¢·¢Ë͸øDEEPSEEKʶ±ðʾÀý¹ý³Ì B2BÍøÂçÈí¼þ
×Ô¶¯½ØÍ¼²¢·¢Ë͸øDEEPSEEKʶ±ðʾÀý¹ý³Ì B2BÍøÂçÈí¼þ
×Ô¶¯½ØÍ¼²¢·¢Ë͸øDEEPSEEKʶ±ðʾÀý¹ý³Ì B2BÍøÂçÈí¼þ
  1. // AIWROK ×Ô¶¯»¯Á÷³Ì£º½ØÍ¼BÕ¾ÑéÖ¤Âë ¡ú Æô¶¯DEEPSEEKÖúÊÖ ¡ú ·¢ËͽØÍ¼Ñ¯ÎÊÍ϶¯¾àÀë ¡ú ²É¼¯»Ø´ð ¡ú ÇлØBÕ¾Í϶¯»¬¿é
  2. // °üÃû£ºcom.deepseek.chat£¨DEEPSEEK AI£©
  3. //
  4. // ʹÓÃ˵Ã÷£º
  5. //   1. ÔÚBÕ¾ÑéÖ¤ÂëÒ³ÃæÔËÐнű¾
  6. //   2. ½Å±¾×Ô¶¯½ØÍ¼²¢·¢Ë͸øDEEPSEEKʶ±ð
  7. //   3. ½âÎöDEEPSEEK·µ»ØµÄÍ϶¯¾àÀ룬ÇлØBÕ¾Í϶¯»¬¿é

  8. print.log("===== DEEPSEEKʶ±ðÑéÖ¤ÂëÍ϶¯BÕ¾Á÷³ÌÆô¶¯ =====");
  9. print.time();

  10. // ========== ÅäÖÃÇø ==========
  11. var DEEPK°üÃû = "com.deepseek.chat";
  12. var BÕ¾°üÃû = "tv.danmaku.bili";
  13. var ½ØÍ¼±£´æÂ·¾¶ = "/sdcard/ÑéÖ¤Âë½ØÍ¼.png";

  14. var µÈ´ý»Ø´ð³¬Ê±Ãë = 50;
  15. var »Ø´ðÊä³öµÈ´ýÃë = 50;
  16. var »¬¿éУ׼ϵÊý = 1.0;

  17. var ÌáÎÊ»°Êõ = "Çë°ïÎÒ·ÖÎöÕâÕÅͼƬ£¬¸æËßÎÒ×ó±ßµÄ·½¿éÐèÒªÏòÓÒÒÆ¶¯¶àÉÙÏñËØ²ÅÄܺÍÓұߵÄȱ¿Ú¶ÔÆë£¬Ö»»Ø¸´×ù±êÊý×Ö¾ÍÐÐÁË¡£";

  18. // ========== »ñÈ¡É豸ÐÅÏ¢ ==========
  19. var ÆÁÄ»¿í = screen.getScreenWidth();
  20. var ÆÁÄ»¸ß = screen.getScreenHeight();
  21. var ÑéÖ¤Â뻬¿é¾àÀë = null;
  22. print.log("ÆÁÄ»³ß´ç£º" + ÆÁÄ»¿í + " x " + ÆÁÄ»¸ß);
  23. try {
  24.     var ´úÀí״̬ = agent.isOpen();
  25.     print.log("´úÀí״̬£º" + (´úÀí״̬ ? "ÒÑ¿ªÆô" : "먦Æô"));
  26. } catch (e) {
  27.     print.log("´úÀí״̬¼ì²éʧ°Ü£º" + e.message);
  28. }

  29. // ========== ¹¤¾ßº¯Êý ==========

  30. function »ñÈ¡UI() {
  31.     var xml = agent.getXml();
  32.     return "" + xml;
  33. }

  34. function ×Ö·û´®³¤¶È(s) {
  35.     var str = "" + s;
  36.     return str.length;
  37. }

  38. function ½âÂëHTMLʵÌå(s) {
  39.     var str = "" + s;
  40.     str = str.replace(/
  41. /g, "\n");
  42.     str = str.replace(/
  43. /g, "\r");
  44.     str = str.replace(/        /g, "\t");
  45.     str = str.replace(/'/g, "'");
  46.     str = str.replace(/"/g, '"');
  47.     str = str.replace(/"/g, '"');
  48.     str = str.replace(/'/g, "'");
  49.     str = str.replace(/&/g, "&");
  50.     str = str.replace(/</g, "<");
  51.     str = str.replace(/>/g, ">");
  52.     return str;
  53. }

  54. function »ñÈ¡µ±Ç°×îºóAI»Ø´ð(xml) {
  55.     var »Ø´ðÁбí = ²É¼¯AI»Ø´ðÁбí(xml);
  56.     if (»Ø´ðÁбí.length === 0) return "";
  57.     return »Ø´ðÁбí[»Ø´ðÁбí.length - 1];
  58. }

  59. function OCRʶ±ðÆÁÄ»ÇøÓò(xml) {
  60.     try {
  61.         var img = screen.screenShotFull();
  62.         
  63.         var ocrres = img.MLKitOcr('zhs');
  64.         var ocrText = "";
  65.         
  66.         if (ocrres && typeof ocrres.getAllString === 'function') {
  67.             ocrText = "" + ocrres.getAllString();
  68.         } else if (ocrres && typeof ocrres.getJsonString === 'function') {
  69.             var jsonStr = "" + ocrres.getJsonString();
  70.             var textPattern = /"text"\s*:\s*"([^"]+)"/g;
  71.             var match;
  72.             var allText = [];
  73.             while ((match = textPattern.exec(jsonStr)) !== null) {
  74.                 if (match[1] && match[1].length > 0) {
  75.                     allText.push(match[1]);
  76.                 }
  77.             }
  78.             ocrText = allText.join("\n");
  79.         } else {
  80.             var str = "" + ocrres;
  81.             var textPattern2 = /"text"\s*:\s*"([^"]+)"/g;
  82.             var match2;
  83.             var allText2 = [];
  84.             while ((match2 = textPattern2.exec(str)) !== null) {
  85.                 if (match2[1] && match2[1].length > 0) {
  86.                     allText2.push(match2[1]);
  87.                 }
  88.             }
  89.             ocrText = allText2.join("\n");
  90.         }
  91.         
  92.         img.recycle();
  93.         
  94.         if (ocrText && ocrText.length > 0) {
  95.             print.log("✓ MLKitOcrʶ±ð³É¹¦");
  96.             print.log("--- OCR½á¹û¿ªÊ¼ ---");
  97.             print.log(ocrText);
  98.             print.log("--- OCR½á¹û½áÊø ---");
  99.             return "" + ocrText;
  100.         }
  101.         
  102.         print.log("⚠ MLKitOcrδʶ±ðµ½ÄÚÈÝ");
  103.         return "";
  104.     } catch (e) {
  105.         print.log("⚠ OCRʶ±ðÒì³££º" + e.message);
  106.         return "";
  107.     }
  108. }

  109. function ÌáÈ¡Êý×Ö(Îı¾) {
  110.     var str = "" + Îı¾;
  111.     var ¾«È·Æ¥Åä = str.match(/¾àÀë¼Ó(\d+)/);
  112.     if (¾«È·Æ¥Åä) {
  113.         var num = parseInt(¾«È·Æ¥Åä[1]);
  114.         if (num >= 30) {
  115.             return "" + num;
  116.         }
  117.     }
  118.     var ±¸Ñ¡Æ¥Åä = str.match(/¾àÀ뾫[\u51c6\u79ef\u786e]¼Ó?(\d+)/);
  119.     if (±¸Ñ¡Æ¥Åä) {
  120.         var num2 = parseInt(±¸Ñ¡Æ¥Åä[1]);
  121.         if (num2 >= 30) {
  122.             return "" + num2;
  123.         }
  124.     }
  125.     var allMatches = str.match(/\d+/g);
  126.     if (allMatches) {
  127.         var ºòÑ¡Êý×Ö = [];
  128.         for (var i = 0; i < allMatches.length; i++) {
  129.             var n = parseInt(allMatches[i]);
  130.             if (n >= 30 && n < 1000) {
  131.                 ºòÑ¡Êý×Ö.push(n);
  132.             }
  133.         }
  134.         if (ºòÑ¡Êý×Ö.length > 0) {
  135.             ºòÑ¡Êý×Ö.sort(function(a, b) { return b - a; });
  136.             return "" + ºòÑ¡Êý×Ö[0];
  137.         }
  138.         var allNums = [];
  139.         for (var j = 0; j < allMatches.length; j++) {
  140.             allNums.push(parseInt(allMatches[j]));
  141.         }
  142.         allNums.sort(function(a, b) { return b - a; });
  143.         return "" + allNums[0];
  144.     }
  145.     return "";
  146. }

  147. function ²É¼¯AI»Ø´ðÁбí(xml) {
  148.     var xmlStr = "" + xml;
  149.     var »Ø´ðÁбí = [];

  150.     var ocrÎı¾ = OCRʶ±ðÆÁÄ»ÇøÓò(xml);
  151.     if (ocrÎı¾ && ×Ö·û´®³¤¶È(ocrÎı¾) > 1) {
  152.         »Ø´ðÁбí.push(ocrÎı¾);
  153.         print.log("✓ OCRʶ±ðµ½ÆÁÄ»Îı¾");
  154.         print.log("--- OCR½á¹û¿ªÊ¼ ---");
  155.         print.log(ocrÎı¾);
  156.         print.log("--- OCR½á¹û½áÊø ---");
  157.         
  158.         var ocrÊý×Ö = ÌáÈ¡Êý×Ö(ocrÎı¾);
  159.         if (ocrÊý×Ö) {
  160.             print.log("✓ ´ÓOCR½á¹ûÖÐÌáÈ¡µ½Êý×Ö£º" + ocrÊý×Ö);
  161.             »Ø´ðÁбí.push(ocrÊý×Ö);
  162.         }
  163.     }

  164.     var textViewPattern = /<node[^>]*?text="([^"]+)"[^>]*?class="android\.widget\.TextView"[^>]*?\/?>/g;
  165.     var tvMatch;
  166.     var Ìø¹ý¶¥²¿ÇøÓò = true;
  167.     while ((tvMatch = textViewPattern.exec(xmlStr)) !== null) {
  168.         if (tvMatch[1] && ×Ö·û´®³¤¶È(tvMatch[1]) > 1) {
  169.             var ԭʼÎı¾ = tvMatch[1];
  170.             var ½âÂëÎı¾ = ½âÂëHTMLʵÌå(ԭʼÎı¾);
  171.             
  172.             if (½âÂëÎı¾.includes("ʹÓÃʶͼģʽ¿ªÊ¼¶Ô»°") ||
  173.                 ½âÂëÎı¾.includes("ͼƬÀí½â¹¦ÄÜÄÚ²âÖÐ") ||
  174.                 ½âÂëÎı¾.includes("¿ìËÙģʽ") ||
  175.                 ½âÂëÎı¾.includes("ר¼Òģʽ") ||
  176.                 ½âÂëÎı¾.includes("ʶͼģʽ") ||
  177.                 ½âÂëÎı¾.includes("ÅÄÕÕ") ||
  178.                 ½âÂëÎı¾.includes("Ïà²á") ||
  179.                 ½âÂëÎı¾.includes("Îļþ") ||
  180.                 ½âÂëÎı¾.includes("·¢ÏûÏ¢»ò°´×¡Ëµ»°") ||
  181.                 ½âÂëÎı¾.includes("Éî¶È˼¿¼")) {
  182.                 continue;
  183.             }
  184.             
  185.             if (!»Ø´ðÁбí.includes(½âÂëÎı¾)) {
  186.                 »Ø´ðÁбí.push(½âÂëÎı¾);
  187.                 print.log("✓ ÔÚTextViewÖÐÕÒµ½Îı¾: '" + ½âÂëÎı¾ + "'");
  188.             }
  189.         }
  190.     }

  191.     if (»Ø´ðÁбí.length === 0) {
  192.         print.log("⚠ δÕÒµ½AI»Ø´ð½Úµã");
  193.     } else {
  194.         print.log("✓ ²É¼¯µ½" + »Ø´ðÁбí.length + "ÌõAI»Ø´ð");
  195.     }

  196.     return »Ø´ðÁбí;
  197. }

  198. function È«ÆÁ½ØÍ¼(±£´æÂ·¾¶) {
  199.     try {
  200.         var result = agent.shell("screencap -p " + ±£´æÂ·¾¶);
  201.         print.log("✓ ½ØÍ¼ÃüÁîÖ´ÐУº" + result);
  202.         
  203.         var lsResult = agent.shell("ls -la " + ±£´æÂ·¾¶);
  204.         print.log("✓ ½ØÍ¼Îļþ¼ì²é£º" + lsResult);
  205.         
  206.         return true;
  207.     } catch (e) {
  208.         print.log("⚠ ½ØÍ¼Ê§°Ü£º" + e.message);
  209.         return false;
  210.     }
  211. }

  212. function ÅжÏDEEPK´ò¿ªÐÎʽ(xml) {
  213.     var xmlStr = "" + xml;
  214.    
  215.     var hasInput = xmlStr.indexOf('text="·¢ÏûÏ¢»ò°´×¡Ëµ»°"') !== -1;
  216.     var hasPhoto = xmlStr.indexOf('text="ÅÄÕÕ"') !== -1;
  217.     var hasAlbum = xmlStr.indexOf('text="Ïà²á"') !== -1;
  218.     var hasFile = xmlStr.indexOf('text="Îļþ"') !== -1;
  219.    
  220.     if (hasInput && (hasPhoto || hasAlbum || hasFile)) {
  221.         print.log("✓ DEEPSEEK APP´ò¿ªÐÎʽ£º¶Ô»°Ò³Ãæ");
  222.         return "¶Ô»°Ò³";
  223.     }
  224.    
  225.     print.log("⚠ DEEPSEEK APP´ò¿ªÐÎʽ£ºÎ´ÖªÒ³Ãæ");
  226.     return "δ֪";
  227. }

  228. function ¿ªÆôжԻ°(xml) {
  229.     var xmlStr = "" + xml;
  230.    
  231.     var newChatIdx = xmlStr.indexOf('content-desc="¿ªÆôжԻ°"');
  232.     if (newChatIdx !== -1) {
  233.         var ¶Î = xmlStr.substring(newChatIdx);
  234.         var m = ¶Î.match(/bounds="\[(\d+),(\d+)\]\[(\d+),(\d+)\]"/);
  235.         if (m) {
  236.             var x = (parseInt(m[1]) + parseInt(m[3])) / 2;
  237.             var y = (parseInt(m[2]) + parseInt(m[4])) / 2;
  238.             agent.click(x, y);
  239.             print.log("✓ Òѵã»÷¿ªÆôжԻ°°´Å¥£¬×ø±ê(" + Math.round(x) + "," + Math.round(y) + ")");
  240.             sleep.second(Ãë = 3);
  241.             return true;
  242.         }
  243.     }
  244.    
  245.     var rightButtonPattern = /<node[^>]*?clickable="true"[^>]*?bounds="\[(\d+),(\d+)\]\[(\d+),(\d+)\]"/g;
  246.     var rbMatch;
  247.     var ÓÒÉϽǰ´Å¥ = [];
  248.     while ((rbMatch = rightButtonPattern.exec(xmlStr)) !== null) {
  249.         var bx1 = parseInt(rbMatch[1]);
  250.         var by1 = parseInt(rbMatch[2]);
  251.         if (bx1 > ÆÁÄ»¿í * 0.85 && by1 > 100 && by1 < 400) {
  252.             ÓÒÉϽǰ´Å¥.push({ x: (bx1 + parseInt(rbMatch[3])) / 2, y: (by1 + parseInt(rbMatch[4])) / 2 });
  253.         }
  254.     }
  255.    
  256.     if (ÓÒÉϽǰ´Å¥.length > 0) {
  257.         ÓÒÉϽǰ´Å¥.sort(function(a, b) { return a.x - b.x; });
  258.         var ×îÓұ߰´Å¥ = ÓÒÉϽǰ´Å¥[ÓÒÉϽǰ´Å¥.length - 1];
  259.         agent.click(×îÓұ߰´Å¥.x, ×îÓұ߰´Å¥.y);
  260.         print.log("✓ Òѵã»÷ÓÒÉϽǰ´Å¥¿ªÆôжԻ°£¬×ø±ê(" + Math.round(×îÓұ߰´Å¥.x) + "," + Math.round(×îÓұ߰´Å¥.y) + ")");
  261.         sleep.second(Ãë = 3);
  262.         return true;
  263.     }
  264.    
  265.     print.log("⚠ δÕÒµ½¿ªÆôжԻ°°´Å¥");
  266.     return false;
  267. }

  268. function È·±£Ê¶Í¼Ä£Ê½¿ªÆô(xml) {
  269.     var xmlStr = "" + xml;
  270.    
  271.     var pattern = /text="ʶͼģʽ"[^>]*?bounds="\[(\d+),(\d+)\]\[(\d+),(\d+)\]"/;
  272.     var match = pattern.exec(xmlStr);
  273.     if (match) {
  274.         var x1 = parseInt(match[1]);
  275.         var y1 = parseInt(match[2]);
  276.         var x2 = parseInt(match[3]);
  277.         var y2 = parseInt(match[4]);
  278.         var x = (x1 + x2) / 2;
  279.         var y = (y1 + y2) / 2;
  280.         
  281.         var checkedPattern = /text="ʶͼģʽ"[^>]*?checked="([^"]+)"/;
  282.         var checkedMatch = checkedPattern.exec(xmlStr);
  283.         if (checkedMatch && checkedMatch[1] === "true") {
  284.             print.log("✓ ʶͼģʽÒÑ¿ªÆô");
  285.             return true;
  286.         } else {
  287.             agent.click(x, y);
  288.             print.log("✓ Òѵã»÷ʶͼģʽ°´Å¥¿ªÆôʶͼ¹¦ÄÜ£¬×ø±ê(" + Math.round(x) + "," + Math.round(y) + ")");
  289.             sleep.second(Ãë = 2);
  290.             return true;
  291.         }
  292.     }
  293.    
  294.     var visualModePattern = /<node[^>]*?checkable="true"[^>]*?checked="([^"]+)"[^>]*?bounds="\[(\d+),(\d+)\]\[(\d+),(\d+)\]"/g;
  295.     var vmMatch;
  296.     var ģʽ°´Å¥Áбí = [];
  297.     while ((vmMatch = visualModePattern.exec(xmlStr)) !== null) {
  298.         var ÒÑÑ¡ÖÐ = vmMatch[1];
  299.         var mx1 = parseInt(vmMatch[2]);
  300.         var my1 = parseInt(vmMatch[3]);
  301.         var mx2 = parseInt(vmMatch[4]);
  302.         var my2 = parseInt(vmMatch[5]);
  303.         if (my1 > ÆÁÄ»¸ß * 0.3 && my2 < ÆÁÄ»¸ß * 0.5) {
  304.             Ä£Ê½°´Å¥Áбí.push({ checked: ÒÑÑ¡ÖÐ === "true", x: (mx1 + mx2) / 2, y: (my1 + my2) / 2, x1: mx1 });
  305.         }
  306.     }
  307.    
  308.     if (ģʽ°´Å¥Áбí.length >= 3) {
  309.         Ä£Ê½°´Å¥Áбí.sort(function(a, b) { return a.x1 - b.x1; });
  310.         var µÚÈý¸ö°´Å¥ = ģʽ°´Å¥Áбí[2];
  311.         if (µÚÈý¸ö°´Å¥.checked) {
  312.             print.log("✓ ʶͼģʽ£¨µÚÈý¸ö°´Å¥£©ÒÑ¿ªÆô");
  313.             return true;
  314.         } else {
  315.             agent.click(µÚÈý¸ö°´Å¥.x, µÚÈý¸ö°´Å¥.y);
  316.             print.log("✓ Òѵã»÷µÚÈý¸öģʽ°´Å¥¿ªÆôʶͼ¹¦ÄÜ£¬×ø±ê(" + Math.round(µÚÈý¸ö°´Å¥.x) + "," + Math.round(µÚÈý¸ö°´Å¥.y) + ")");
  317.             sleep.second(Ãë = 2);
  318.             return true;
  319.         }
  320.     }
  321.    
  322.     print.log("⚠ δÕÒµ½Ê¶Í¼Ä£Ê½°´Å¥£¬Ìø¹ý´Ë²½Öè");
  323.     return false;
  324. }

  325. function ²éÕÒÊäÈë¿òÖÐÐÄ(xml) {
  326.     var xmlStr = "" + xml;
  327.    
  328.     var inputIdx = xmlStr.indexOf('text="·¢ÏûÏ¢»ò°´×¡Ëµ»°"');
  329.     if (inputIdx !== -1) {
  330.         var ¶Î = xmlStr.substring(inputIdx);
  331.         var m = ¶Î.match(/bounds="\[(\d+),(\d+)\]\[(\d+),(\d+)\]"/);
  332.         if (m) {
  333.             var x1 = parseInt(m[1]);
  334.             var y1 = parseInt(m[2]);
  335.             var x2 = parseInt(m[3]);
  336.             var y2 = parseInt(m[4]);
  337.             print.log("✓ ÊäÈë¿ò¶¨Î»£ºtext=·¢ÏûÏ¢»ò°´×¡Ëµ»°£¬bounds=[" + x1 + "," + y1 + "][" + x2 + "," + y2 + "]");
  338.             return {
  339.                 x: (x1 + x2) / 2,
  340.                 y: (y1 + y2) / 2
  341.             };
  342.         }
  343.     }

  344.     var editTextIdx = xmlStr.indexOf('class="android.widget.EditText"');
  345.     if (editTextIdx !== -1) {
  346.         var ¶Î2 = xmlStr.substring(editTextIdx);
  347.         var m2 = ¶Î2.match(/bounds="\[(\d+),(\d+)\]\[(\d+),(\d+)\]"/);
  348.         if (m2) {
  349.             var x1 = parseInt(m2[1]);
  350.             var y1 = parseInt(m2[2]);
  351.             var x2 = parseInt(m2[3]);
  352.             var y2 = parseInt(m2[4]);
  353.             print.log("✓ ÊäÈë¿ò¶¨Î»£¨EditText£©£ºbounds=[" + x1 + "," + y1 + "][" + x2 + "," + y2 + "]");
  354.             return {
  355.                 x: (x1 + x2) / 2,
  356.                 y: (y1 + y2) / 2
  357.             };
  358.         }
  359.     }

  360.     var viewFactoryHolderIdx = xmlStr.indexOf('class="androidx.compose.ui.viewinterop.ViewFactoryHolder"');
  361.     if (viewFactoryHolderIdx !== -1) {
  362.         var ¶Î3 = xmlStr.substring(viewFactoryHolderIdx);
  363.         var m3 = ¶Î3.match(/bounds="\[(\d+),(\d+)\]\[(\d+),(\d+)\]"/);
  364.         if (m3) {
  365.             var x1 = parseInt(m3[1]);
  366.             var y1 = parseInt(m3[2]);
  367.             var x2 = parseInt(m3[3]);
  368.             var y2 = parseInt(m3[4]);
  369.             print.log("✓ ÊäÈë¿ò¶¨Î»£¨ViewFactoryHolder£©£ºbounds=[" + x1 + "," + y1 + "][" + x2 + "," + y2 + "]");
  370.             return {
  371.                 x: (x1 + x2) / 2,
  372.                 y: (y1 + y2) / 2
  373.             };
  374.         }
  375.     }

  376.     print.log("⚠ δÕÒµ½ÊäÈë¿ò£¬Ê¹Óöµµ××ø±ê");
  377.     return {
  378.         x: ÆÁÄ»¿í * 0.35,
  379.         y: ÆÁÄ»¸ß * 0.75
  380.     };
  381. }

  382. function ²éÕҼӺŰ´Å¥(xml) {
  383.     var xmlStr = "" + xml;
  384.    
  385.     var plusDescIdx = xmlStr.indexOf('content-desc="Çл»ÖÁÓïÒô"');
  386.     if (plusDescIdx !== -1) {
  387.         var ¶Î = xmlStr.substring(plusDescIdx);
  388.         var m = ¶Î.match(/bounds="\[(\d+),(\d+)\]\[(\d+),(\d+)\]"/);
  389.         if (m) {
  390.             var x1 = parseInt(m[1]);
  391.             var y1 = parseInt(m[2]);
  392.             var x2 = parseInt(m[3]);
  393.             var y2 = parseInt(m[4]);
  394.             var centerX = (x1 + x2) / 2;
  395.             var centerY = (y1 + y2) / 2;
  396.             print.log("✓ ¼ÓºÅ°´Å¥¶¨Î»£ºcontent-desc=Çл»ÖÁÓïÒô£¬×ø±ê(" + Math.round(centerX) + "," + Math.round(centerY) + ")");
  397.             return { x: centerX, y: centerY };
  398.         }
  399.     }

  400.     var inputIdx = xmlStr.indexOf('text="·¢ÏûÏ¢»ò°´×¡Ëµ»°"');
  401.     if (inputIdx !== -1) {
  402.         var ÊäÈë¿ò¶Î = xmlStr.substring(inputIdx);
  403.         var ÊäÈë¿ò±ß½ç = ÊäÈë¿ò¶Î.match(/bounds="\[(\d+),(\d+)\]\[(\d+),(\d+)\]"/);
  404.         if (ÊäÈë¿ò±ß½ç) {
  405.             var ÊäÈë¿òX2 = parseInt(ÊäÈë¿ò±ß½ç[3]);
  406.             var ÊäÈë¿òY = parseInt(ÊäÈë¿ò±ß½ç[2]);
  407.             var ÊäÈë¿òµ×²¿Y = parseInt(ÊäÈë¿ò±ß½ç[4]);
  408.             var ÊäÈë¿òÖÐÐÄY = (ÊäÈë¿òY + ÊäÈë¿òµ×²¿Y) / 2;
  409.             
  410.             var clickablePattern = /<node[^>]*?clickable="true"[^>]*?bounds="\[(\d+),(\d+)\]\[(\d+),(\d+)\]"/g;
  411.             var clickMatch;
  412.             var ºòÑ¡°´Å¥ = [];
  413.             
  414.             while ((clickMatch = clickablePattern.exec(xmlStr)) !== null) {
  415.                 var bx1 = parseInt(clickMatch[1]);
  416.                 var by1 = parseInt(clickMatch[2]);
  417.                 var bx2 = parseInt(clickMatch[3]);
  418.                 var by2 = parseInt(clickMatch[4]);
  419.                
  420.                 if (by1 >= ÊäÈë¿òÖÐÐÄY - 100 && by2 <= ÊäÈë¿òÖÐÐÄY + 200 && bx1 > ÊäÈë¿òX2 - 50) {
  421.                     ºòÑ¡°´Å¥.push({ x: (bx1 + bx2) / 2, y: (by1 + by2) / 2 });
  422.                 }
  423.             }
  424.             
  425.             if (ºòÑ¡°´Å¥.length > 0) {
  426.                 ºòÑ¡°´Å¥.sort(function(a, b) { return a.x - b.x; });
  427.                 print.log("✓ ¼ÓºÅ°´Å¥¶¨Î»£ºÊäÈë¿òÓÒ²àclickableÔªËØ£¬×ø±ê(" + Math.round(ºòÑ¡°´Å¥[0].x) + "," + Math.round(ºòÑ¡°´Å¥[0].y) + ")");
  428.                 return ºòÑ¡°´Å¥[0];
  429.             }
  430.         }
  431.     }

  432.     print.log("⚠ ¼ÓºÅ°´Å¥Ê¹Óöµµ××ø±ê£¨ÊäÈë¿òÓҲࣩ");
  433.     var ÊäÈë¿ò = ²éÕÒÊäÈë¿òÖÐÐÄ(xml);
  434.     return {
  435.         x: ÆÁÄ»¿í * 0.9,
  436.         y: ÊäÈë¿ò.y
  437.     };
  438. }

  439. function ²éÕÒÏà²á°´Å¥(xml) {
  440.     var xmlStr = "" + xml;
  441.    
  442.     var albumIdx = xmlStr.indexOf('text="Ïà²á"');
  443.     if (albumIdx !== -1) {
  444.         var ¶Î = xmlStr.substring(albumIdx);
  445.         var m = ¶Î.match(/bounds="\[(\d+),(\d+)\]\[(\d+),(\d+)\]"/);
  446.         if (m) {
  447.             var x1 = parseInt(m[1]);
  448.             var y1 = parseInt(m[2]);
  449.             var x2 = parseInt(m[3]);
  450.             var y2 = parseInt(m[4]);
  451.             var centerX = (x1 + x2) / 2;
  452.             var centerY = (y1 + y2) / 2;
  453.             print.log("✓ Ïà²á°´Å¥¶¨Î»£ºtext=Ïà²á£¬bounds=[" + x1 + "," + y1 + "][" + x2 + "," + y2 + "]£¬×ø±ê(" + Math.round(centerX) + "," + Math.round(centerY) + ")");
  454.             return { x: centerX, y: centerY };
  455.         }
  456.     }

  457.     var clickableViewPattern = /<node[^>]*?clickable="true"[^>]*?bounds="\[(\d+),(\d+)\]\[(\d+),(\d+)\]"/g;
  458.     var clickMatch;
  459.     var ºòÑ¡°´Å¥ = [];
  460.    
  461.     while ((clickMatch = clickableViewPattern.exec(xmlStr)) !== null) {
  462.         var bx1 = parseInt(clickMatch[1]);
  463.         var by1 = parseInt(clickMatch[2]);
  464.         var bx2 = parseInt(clickMatch[3]);
  465.         var by2 = parseInt(clickMatch[4]);
  466.         
  467.         if (by1 >= ÆÁÄ»¸ß * 0.8 && by2 <= ÆÁÄ»¸ß * 0.95) {
  468.             ºòÑ¡°´Å¥.push({ x: (bx1 + bx2) / 2, y: (by1 + by2) / 2 });
  469.         }
  470.     }
  471.    
  472.     if (ºòÑ¡°´Å¥.length >= 3) {
  473.         ºòÑ¡°´Å¥.sort(function(a, b) { return a.x - b.x; });
  474.         var Öм䰴ť = ºòÑ¡°´Å¥[1];
  475.         print.log("✓ Ïà²á°´Å¥¶¨Î»£ºµ×²¿ÖмäclickableÔªËØ£¬×ø±ê(" + Math.round(Öм䰴ť.x) + "," + Math.round(Öм䰴ť.y) + ")");
  476.         return Öм䰴ť;
  477.     }

  478.     print.log("⚠ Ïà²á°´Å¥Ê¹Óöµµ××ø±ê£¨µ×²¿Öм䣩");
  479.     return {
  480.         x: ÆÁÄ»¿í * 0.5,
  481.         y: ÆÁÄ»¸ß * 0.88
  482.     };
  483. }

  484. function ²éÕÒÏà²áÑ¡Ïî(xml) {
  485.     var xmlStr = "" + xml;
  486.    
  487.     var text¹Ø¼ü´Ê = ["Ïà²á", "ͼƬ", "ÕÕÆ¬", "ËùÓÐÕÕÆ¬", "´ÓÏà²áÑ¡Ôñ", "Ñ¡ÔñͼƬ"];
  488.     for (var i = 0; i < text¹Ø¼ü´Ê.length; i++) {
  489.         var kw = text¹Ø¼ü´Ê[i];
  490.         var idx = xmlStr.indexOf('text="' + kw + '"');
  491.         if (idx !== -1) {
  492.             var ¶Î = xmlStr.substring(idx);
  493.             var m = ¶Î.match(/bounds="\[(\d+),(\d+)\]\[(\d+),(\d+)\]"/);
  494.             if (m) {
  495.                 print.log("✓ Ïà²áÑ¡Ïλ£ºtext=" + kw);
  496.                 return {
  497.                     x: (parseInt(m[1]) + parseInt(m[3])) / 2,
  498.                     y: (parseInt(m[2]) + parseInt(m[4])) / 2
  499.                 };
  500.             }
  501.         }
  502.     }

  503.     var desc¹Ø¼ü´Ê = ["Ïà²á", "ͼƬ", "ÕÕÆ¬"];
  504.     for (var j = 0; j < desc¹Ø¼ü´Ê.length; j++) {
  505.         var kw2 = desc¹Ø¼ü´Ê[j];
  506.         var idx2 = xmlStr.indexOf('content-desc="' + kw2 + '"');
  507.         if (idx2 !== -1) {
  508.             var ¶Î2 = xmlStr.substring(idx2);
  509.             var m2 = ¶Î2.match(/bounds="\[(\d+),(\d+)\]\[(\d+),(\d+)\]"/);
  510.             if (m2) {
  511.                 print.log("✓ Ïà²áÑ¡Ïλ£ºcontent-desc=" + kw2);
  512.                 return {
  513.                     x: (parseInt(m2[1]) + parseInt(m2[3])) / 2,
  514.                     y: (parseInt(m2[2]) + parseInt(m2[4])) / 2
  515.                 };
  516.             }
  517.         }
  518.     }
  519.    
  520.     return null;
  521. }

  522. function Õ³ÌùÎı¾(Îı¾) {
  523.     try {
  524.         Clipboard.copy("" + Îı¾);
  525.     } catch (e) {
  526.         print.log("⚠ Clipboard.copy ʧ°Ü£º" + e.message);
  527.     }
  528.     sleep.millisecond(ºÁÃë = 300);

  529.     try {
  530.         agent.shell("service call clipboard 3 i32 1 s16 '" + Îı¾ + "' i32 0");
  531.     } catch (e2) {
  532.         // ºöÂÔ´íÎó
  533.     }
  534.     sleep.millisecond(ºÁÃë = 300);

  535.     agent.shell("input keyevent 279");
  536.     sleep.millisecond(ºÁÃë = 500);
  537.    
  538.     try {
  539.         agent.shell("input text '" + Îı¾ + "'");
  540.         print.log("✓ ÒÑͨ¹ýinput textÖ±½ÓÊäÈëÎı¾");
  541.     } catch (e3) {
  542.         print.log("⚠ input textʧ°Ü£º" + e3.message);
  543.     }
  544.    
  545.     sleep.second(Ãë = 1);
  546.     print.log("✓ ÒÑÕ³ÌùÎı¾£º" + Îı¾);
  547. }

  548. function ÊÇ·ñÔÚϵͳÏà²áÒ³Ãæ(xml) {
  549.     var xmlStr = "" + xml;
  550.    
  551.     var packageMatch = xmlStr.match(/package="([^"]+)"/);
  552.     var µ±Ç°°üÃû = packageMatch ? packageMatch[1] : "";
  553.    
  554.     if (µ±Ç°°üÃû && µ±Ç°°üÃû !== DEEPK°üÃû) {
  555.         print.log("✓ ¼ì²âµ½ÏµÍ³Ïà²áÒ³Ãæ£¬°üÃû£º" + µ±Ç°°üÃû);
  556.         return true;
  557.     }
  558.    
  559.     return false;
  560. }

  561. function ÊÇ·ñÔÚͼƬԤÀÀÒ³Ãæ(xml) {
  562.     var xmlStr = "" + xml;
  563.     if (xmlStr.indexOf('text="Íê³É"') !== -1 || xmlStr.indexOf('text="·¢ËÍ"') !== -1) {
  564.         return true;
  565.     }
  566.     if (xmlStr.indexOf('content-desc="Íê³É"') !== -1 || xmlStr.indexOf('content-desc="·¢ËÍ"') !== -1) {
  567.         return true;
  568.     }
  569.     return false;
  570. }

  571. function ²éÕÒͼƬԤÀÀÈ·Èϰ´Å¥(xml) {
  572.     var xmlStr = "" + xml;
  573.    
  574.     var ¹Ø¼ü´Ê = ["Íê³É", "·¢ËÍ", "È·ÈÏ"];
  575.     for (var i = 0; i < ¹Ø¼ü´Ê.length; i++) {
  576.         var kw = ¹Ø¼ü´Ê[i];
  577.         var textIdx = xmlStr.indexOf('text="' + kw + '"');
  578.         if (textIdx !== -1) {
  579.             var ¶Î = xmlStr.substring(textIdx);
  580.             var m = ¶Î.match(/bounds="\[(\d+),(\d+)\]\[(\d+),(\d+)\]"/);
  581.             if (m) {
  582.                 var x = (parseInt(m[1]) + parseInt(m[3])) / 2;
  583.                 var y = (parseInt(m[2]) + parseInt(m[4])) / 2;
  584.                 print.log("✓ ͼƬԤÀÀÈ·Èϰ´Å¥¶¨Î»£ºtext=" + kw + "£¬×ø±ê(" + Math.round(x) + "," + Math.round(y) + ")");
  585.                 return { x: x, y: y };
  586.             }
  587.         }
  588.     }
  589.    
  590.     for (var j = 0; j < ¹Ø¼ü´Ê.length; j++) {
  591.         var kw2 = ¹Ø¼ü´Ê[j];
  592.         var descIdx = xmlStr.indexOf('content-desc="' + kw2 + '"');
  593.         if (descIdx !== -1) {
  594.             var ¶Î2 = xmlStr.substring(descIdx);
  595.             var m2 = ¶Î2.match(/bounds="\[(\d+),(\d+)\]\[(\d+),(\d+)\]"/);
  596.             if (m2) {
  597.                 var x = (parseInt(m2[1]) + parseInt(m2[3])) / 2;
  598.                 var y = (parseInt(m2[2]) + parseInt(m2[4])) / 2;
  599.                 print.log("✓ ͼƬԤÀÀÈ·Èϰ´Å¥¶¨Î»£ºcontent-desc=" + kw2 + "£¬×ø±ê(" + Math.round(x) + "," + Math.round(y) + ")");
  600.                 return { x: x, y: y };
  601.             }
  602.         }
  603.     }
  604.    
  605.     print.log("⚠ ͼƬԤÀÀÈ·Èϰ´Å¥Ê¹Óöµµ××ø±ê£¨µ×²¿Öм䣩");
  606.     return { x: ÆÁÄ»¿í * 0.5, y: ÆÁÄ»¸ß * 0.92 };
  607. }

  608. function ²éÕÒÏà²áÑ¡Ôñ°´Å¥(xml) {
  609.     var xmlStr = "" + xml;
  610.    
  611.     var ¹Ø¼ü´ÊÁбí = ["Ñ¡Ôñ", "Íê³É", "È·ÈÏ", "·¢ËÍ", "È·¶¨"];
  612.     for (var i = 0; i < ¹Ø¼ü´ÊÁбí.length; i++) {
  613.         var kw = ¹Ø¼ü´ÊÁбí[i];
  614.         
  615.         var textPattern = new RegExp('text="' + kw + '[^"]*"[^>]*?bounds="\\[(\\d+),(\\d+)\\]\\[(\\d+),(\\d+)\\]"', 'gi');
  616.         var textMatch = textPattern.exec(xmlStr);
  617.         if (textMatch) {
  618.             var x = (parseInt(textMatch[1]) + parseInt(textMatch[3])) / 2;
  619.             var y = (parseInt(textMatch[2]) + parseInt(textMatch[4])) / 2;
  620.             print.log("✓ Ïà²áÑ¡Ôñ°´Å¥¶¨Î»£ºtext=" + kw + "£¬×ø±ê(" + Math.round(x) + "," + Math.round(y) + ")");
  621.             return { x: x, y: y };
  622.         }
  623.         
  624.         var descIdx = xmlStr.indexOf('content-desc="' + kw + '"');
  625.         if (descIdx !== -1) {
  626.             var ¶Î2 = xmlStr.substring(descIdx);
  627.             var m2 = ¶Î2.match(/bounds="\[(\d+),(\d+)\]\[(\d+),(\d+)\]"/);
  628.             if (m2) {
  629.                 var x = (parseInt(m2[1]) + parseInt(m2[3])) / 2;
  630.                 var y = (parseInt(m2[2]) + parseInt(m2[4])) / 2;
  631.                 print.log("✓ Ïà²áÑ¡Ôñ°´Å¥¶¨Î»£ºcontent-desc=" + kw + "£¬×ø±ê(" + Math.round(x) + "," + Math.round(y) + ")");
  632.                 return { x: x, y: y };
  633.             }
  634.         }
  635.     }
  636.    
  637.     var bottomButtonPattern = /<node[^>]*?clickable="true"[^>]*?bounds="\[(\d+),(\d+)\]\[(\d+),(\d+)\]"/g;
  638.     var bottomMatch;
  639.     var µ×²¿°´Å¥Áбí = [];
  640.     while ((bottomMatch = bottomButtonPattern.exec(xmlStr)) !== null) {
  641.         var bx1 = parseInt(bottomMatch[1]);
  642.         var by1 = parseInt(bottomMatch[2]);
  643.         var bx2 = parseInt(bottomMatch[3]);
  644.         var by2 = parseInt(bottomMatch[4]);
  645.         if (by1 >= ÆÁÄ»¸ß * 0.85) {
  646.             µ×²¿°´Å¥Áбí.push({ x: (bx1 + bx2) / 2, y: (by1 + by2) / 2 });
  647.         }
  648.     }
  649.    
  650.     if (µ×²¿°´Å¥Áбí.length > 0) {
  651.         µ×²¿°´Å¥Áбí.sort(function(a, b) { return b.x - a.x; });
  652.         var ×îÓұ߰´Å¥ = µ×²¿°´Å¥Áбí[0];
  653.         print.log("✓ Ïà²áÑ¡Ôñ°´Å¥¶¨Î»£ºµ×²¿×îÓұ߰´Å¥£¬×ø±ê(" + Math.round(×îÓұ߰´Å¥.x) + "," + Math.round(×îÓұ߰´Å¥.y) + ")");
  654.         return { x: ×îÓұ߰´Å¥.x, y: ×îÓұ߰´Å¥.y };
  655.     }
  656.    
  657.     print.log("⚠ Ïà²áÑ¡Ôñ°´Å¥Ê¹Óöµµ××ø±ê£¨µ×²¿£©");
  658.     return { x: ÆÁÄ»¿í * 0.78, y: ÆÁÄ»¸ß * 0.92 };
  659. }

  660. function ²éÕÒµÚÒ»ÕÅͼƬ(xml) {
  661.     var xmlStr = "" + xml;
  662.    
  663.     if (ÊÇ·ñÔÚϵͳÏà²áÒ³Ãæ(xmlStr)) {
  664.         agent.shell("echo '" + xmlStr.substring(0, 5000) + "' > /sdcard/Ïà²áUI_dump.xml");
  665.         print.log("✓ Òѱ£´æÏà²áUI XMLµ½/sdcard/Ïà²áUI_dump.xml");
  666.         
  667.         var nafPattern = /<node[^>]*?NAF="true"[^>]*?clickable="true"[^>]*?bounds="\[(\d+),(\d+)\]\[(\d+),(\d+)\]"/g;
  668.         var nafMatch;
  669.         var NAFСԲµãÁбí = [];
  670.         
  671.         while ((nafMatch = nafPattern.exec(xmlStr)) !== null) {
  672.             var nx1 = parseInt(nafMatch[1]);
  673.             var ny1 = parseInt(nafMatch[2]);
  674.             var nx2 = parseInt(nafMatch[3]);
  675.             var ny2 = parseInt(nafMatch[4]);
  676.             var nw = nx2 - nx1;
  677.             var nh = ny2 - ny1;
  678.             
  679.             if (nw >= 50 && nw <= 300 && nh >= 50 && nh <= 300) {
  680.                 if (ny1 >= 400 && ny2 <= ÆÁÄ»¸ß - 400) {
  681.                     NAFСԲµãÁбí.push({ x1: nx1, y1: ny1, x2: nx2, y2: ny2, x: (nx1 + nx2) / 2, y: (ny1 + ny2) / 2 });
  682.                 }
  683.             }
  684.         }
  685.         
  686.         if (NAFСԲµãÁбí.length > 0) {
  687.             NAFСԲµãÁбí.sort(function(a, b) {
  688.                 if (a.y1 !== b.y1) return a.y1 - b.y1;
  689.                 return a.x1 - b.x1;
  690.             });
  691.             var Ñ¡ÖÐСԲµã = NAFСԲµãÁбí[0];
  692.             print.log("✓ ComposeViewÕÒµ½NAFСԲµãÑ¡Ôñ¿ò£º×ø±ê(" + Math.round(Ñ¡ÖÐСԲµã.x) + "," + Math.round(Ñ¡ÖÐСԲµã.y) + ")£¬bounds=[" + Ñ¡ÖÐСԲµã.x1 + "," + Ñ¡ÖÐСԲµã.y1 + "][" + Ñ¡ÖÐСԲµã.x2 + "," + Ñ¡ÖÐСԲµã.y2 + "]");
  693.             return { x: Ñ¡ÖÐСԲµã.x, y: Ñ¡ÖÐСԲµã.y };
  694.         }
  695.         
  696.         var imageDescPattern = /<node[^>]*?content-desc="([^"]+\.(png|jpg|jpeg|gif))"[^>]*?class="android\.view\.View"[^>]*?bounds="\[(\d+),(\d+)\]\[(\d+),(\d+)\]"/gi;
  697.         var imgMatch;
  698.         var ͼƬ½ÚµãÁбí = [];
  699.         
  700.         while ((imgMatch = imageDescPattern.exec(xmlStr)) !== null) {
  701.             var ÎļþÃû = imgMatch[1];
  702.             var ix1 = parseInt(imgMatch[3]);
  703.             var iy1 = parseInt(imgMatch[4]);
  704.             var ix2 = parseInt(imgMatch[5]);
  705.             var iy2 = parseInt(imgMatch[6]);
  706.             var iw = ix2 - ix1;
  707.             var ih = iy2 - iy1;
  708.             
  709.             if (iw >= 100 && ih >= 100) {
  710.                 ͼƬ½ÚµãÁбí.push({ ÎļþÃû: ÎļþÃû, x1: ix1, y1: iy1, x2: ix2, y2: iy2, w: iw, h: ih });
  711.             }
  712.         }
  713.         
  714.         if (ͼƬ½ÚµãÁбí.length > 0) {
  715.             Í¼Æ¬½ÚµãÁбí.sort(function(a, b) {
  716.                 if (a.y1 !== b.y1) return a.y1 - b.y1;
  717.                 return a.x1 - b.x1;
  718.             });
  719.             var µÚÒ»ÕÅͼƬ = ͼƬ½ÚµãÁбí[0];
  720.             print.log("✓ ÕÒµ½Í¼Æ¬£º" + µÚÒ»ÕÅͼƬ.ÎļþÃû + "£¬bounds=[" + µÚÒ»ÕÅͼƬ.x1 + "," + µÚÒ»ÕÅͼƬ.y1 + "][" + µÚÒ»ÕÅͼƬ.x2 + "," + µÚÒ»ÕÅͼƬ.y2 + "]");
  721.             
  722.             var Ñ¡Ôñ¿òX = µÚÒ»ÕÅͼƬ.x1 + µÚÒ»ÕÅͼƬ.w * 0.77;
  723.             var Ñ¡Ôñ¿òY = µÚÒ»ÕÅͼƬ.y1 + µÚÒ»ÕÅͼƬ.h * 0.24;
  724.             print.log("✓ ¼ÆËãСԲµãÑ¡Ôñ¿ò×ø±ê£º(" + Math.round(Ñ¡Ôñ¿òX) + "," + Math.round(Ñ¡Ôñ¿òY) + ")");
  725.             return { x: Ñ¡Ôñ¿òX, y: Ñ¡Ôñ¿òY };
  726.         }
  727.         
  728.         var clickableViewPattern = /<node[^>]*?clickable="true"[^>]*?bounds="\[(\d+),(\d+)\]\[(\d+),(\d+)\]"/g;
  729.         var clickMatch;
  730.         var ¿Éµã»÷ÇøÓò = [];
  731.         while ((clickMatch = clickableViewPattern.exec(xmlStr)) !== null) {
  732.             var cx1 = parseInt(clickMatch[1]);
  733.             var cy1 = parseInt(clickMatch[2]);
  734.             var cx2 = parseInt(clickMatch[3]);
  735.             var cy2 = parseInt(clickMatch[4]);
  736.             var cw = cx2 - cx1;
  737.             var ch = cy2 - cy1;
  738.             ¿Éµã»÷ÇøÓò.push({ x1: cx1, y1: cy1, x2: cx2, y2: cy2, w: cw, h: ch, x: (cx1 + cx2) / 2, y: (cy1 + cy2) / 2 });
  739.         }
  740.         
  741.         var Í¼Æ¬ÇøÓòÄڿɵã»÷ = [];
  742.         for (var k = 0; k < ¿Éµã»÷ÇøÓò.length; k++) {
  743.             var item = ¿Éµã»÷ÇøÓò[k];
  744.             if (item.y >= 400 && item.y <= ÆÁÄ»¸ß - 400) {
  745.                 Í¼Æ¬ÇøÓòÄڿɵã»÷.push(item);
  746.             }
  747.         }
  748.         
  749.         if (Í¼Æ¬ÇøÓòÄڿɵã»÷.length > 0) {
  750.             Í¼Æ¬ÇøÓòÄڿɵã»÷.sort(function(a, b) {
  751.                 if (a.y !== b.y) return a.y - b.y;
  752.                 return a.x - b.x;
  753.             });
  754.             var µÚÒ»¸ö¿Éµã»÷ = Í¼Æ¬ÇøÓòÄڿɵã»÷[0];
  755.             print.log("✓ ComposeViewÍ¼Æ¬ÇøÓòÄÚµÚÒ»¸ö¿Éµã»÷ÔªËØ£º×ø±ê(" + Math.round(µÚÒ»¸ö¿Éµã»÷.x) + "," + Math.round(µÚÒ»¸ö¿Éµã»÷.y) + ")");
  756.             return { x: µÚÒ»¸ö¿Éµã»÷.x, y: µÚÒ»¸ö¿Éµã»÷.y };
  757.         }

  758.         print.log("⚠ ϵͳÏà²áδÕÒµ½Í¼Æ¬£¬Ê¹Óöµµ××ø±ê");
  759.         return { x: ÆÁÄ»¿í * 0.25, y: ÆÁÄ»¸ß * 0.3 };
  760.     }

  761.     print.log("⚠ δÕÒµ½Í¼Æ¬£¬Ê¹Óöµµ××ø±ê£¨µ×²¿µÚÒ»ÐеÚÒ»ÁУ©");
  762.     return { x: ÆÁÄ»¿í * 0.15, y: ÆÁÄ»¸ß * 0.85 };
  763. }

  764. function ²éÕÒ·¢ËͰ´Å¥ÖÐÐÄ(xml) {
  765.     var xmlStr = "" + xml;

  766.     try {
  767.         var detects = opencv.findImagesEx('ͼɫ168638.cv');
  768.         if (detects != null && detects.length > 0) {
  769.             print.log("✓ ·¢ËͰ´Å¥¶¨Î»£ºÍ¼É«Æ¥Åä");
  770.             var dStr = "" + detects[0];
  771.             print.log("ͼɫƥÅä½á¹û£º" + dStr);
  772.             var m = dStr.match(/¾ØÐÎÇøÓò:([\d.]+),\s*([\d.]+),\s*([\d.]+),\s*([\d.]+)/);
  773.             if (m) {
  774.                 var left = parseFloat(m[1]);
  775.                 var top = parseFloat(m[2]);
  776.                 var right = parseFloat(m[3]);
  777.                 var bottom = parseFloat(m[4]);
  778.                 var centerX = (left + right) / 2;
  779.                 var centerY = (top + bottom) / 2;
  780.                 print.log("ͼɫƥÅä°Ù·Ö±È×ø±ê£ºleft=" + left + ", top=" + top + ", right=" + right + ", bottom=" + bottom);
  781.                 print.log("¼ÆËãµã»÷°Ù·Ö±È£º(" + centerX + "," + centerY + ")");
  782.                 agent.clickPercent(centerX, centerY);
  783.                 print.log("✓ Òѵã»÷·¢ËͰ´Å¥£¨Í¼É«£©");
  784.                 return null;
  785.             }
  786.             print.log("⚠ ͼɫƥÅä½á¹û¸ñʽ½âÎöʧ°Ü");
  787.         }
  788.     } catch (e) {
  789.         print.log("⚠ ͼɫƥÅäʧ°Ü£º" + e.message);
  790.     }

  791.     var inputIdx = xmlStr.indexOf('text="·¢ÏûÏ¢»ò°´×¡Ëµ»°"');
  792.     if (inputIdx !== -1) {
  793.         var ÊäÈë¿ò¶Î = xmlStr.substring(inputIdx);
  794.         var ÊäÈë¿ò±ß½ç = ÊäÈë¿ò¶Î.match(/bounds="\[(\d+),(\d+)\]\[(\d+),(\d+)\]"/);
  795.         
  796.         if (ÊäÈë¿ò±ß½ç) {
  797.             var ÊäÈë¿òÐÅÏ¢ = {
  798.                 x1: parseInt(ÊäÈë¿ò±ß½ç[1]),
  799.                 y1: parseInt(ÊäÈë¿ò±ß½ç[2]),
  800.                 x2: parseInt(ÊäÈë¿ò±ß½ç[3]),
  801.                 y2: parseInt(ÊäÈë¿ò±ß½ç[4]),
  802.                 centerY: (parseInt(ÊäÈë¿ò±ß½ç[2]) + parseInt(ÊäÈë¿ò±ß½ç[4])) / 2
  803.             };

  804.             var clickablePattern = /<node[^>]*?clickable="true"[^>]*?bounds="\[(\d+),(\d+)\]\[(\d+),(\d+)\]"[^>]*?\/?>/g;
  805.             var clickMatch;
  806.             var candidates = [];

  807.             while ((clickMatch = clickablePattern.exec(xmlStr)) !== null) {
  808.                 var cx1 = parseInt(clickMatch[1]);
  809.                 var cy1 = parseInt(clickMatch[2]);
  810.                 var cx2 = parseInt(clickMatch[3]);
  811.                 var cy2 = parseInt(clickMatch[4]);
  812.                 var cw = cx2 - cx1;
  813.                 var ch = cy2 - cy1;

  814.                 var ÊÇС°´Å¥ = (cw < 300 && ch < 300);
  815.                 var ÔÚÊäÈë¿òÓÒ²à = (cx1 > ÊäÈë¿òÐÅÏ¢.x2 - 100);
  816.                 var ÔÚÊäÈë¿òˮƽÐÐ = (cy1 >= ÊäÈë¿òÐÅÏ¢.y1 - 100 && cy1 <= ÊäÈë¿òÐÅÏ¢.y2 + 100);

  817.                 if (ÊÇС°´Å¥ && ÔÚÊäÈë¿òÓÒ²à && ÔÚÊäÈë¿òˮƽÐÐ) {
  818.                     candidates.push({
  819.                         x1: cx1, y1: cy1, x2: cx2, y2: cy2,
  820.                         x: (cx1 + cx2) / 2,
  821.                         y: (cy1 + cy2) / 2
  822.                     });
  823.                 }
  824.             }

  825.             if (candidates.length > 0) {
  826.                 candidates.sort(function(a, b) {
  827.                     return b.x1 - a.x1;
  828.                 });
  829.                 var Ñ¡ÖÐ = candidates[0];
  830.                 print.log("✓ ·¢ËͰ´Å¥¶¨Î»£ºÊäÈë¿òÓÒ²àclickableÔªËØ£¬×ø±ê(" + Math.round(Ñ¡ÖÐ.x) + "," + Math.round(Ñ¡ÖÐ.y) + ")");
  831.                 return { x: Ñ¡ÖÐ.x, y: Ñ¡ÖÐ.y };
  832.             }

  833.             var Ô¤¹ÀX = ÊäÈë¿òÐÅÏ¢.x2 + 100;
  834.             var Ô¤¹ÀY = ÊäÈë¿òÐÅÏ¢.centerY;
  835.             print.log("⚠ ·¢ËͰ´Å¥Ê¹ÓÃÊäÈë¿òÓҲඵµ××ø±ê(" + Math.round(Ô¤¹ÀX) + "," + Math.round(Ô¤¹ÀY) + ")");
  836.             return { x: Ô¤¹ÀX, y: Ô¤¹ÀY };
  837.         }
  838.     }

  839.     var sendTextIdx = xmlStr.indexOf('text="·¢ËÍ"');
  840.     if (sendTextIdx !== -1) {
  841.         var ¶Î = xmlStr.substring(sendTextIdx);
  842.         var m = ¶Î.match(/bounds="\[(\d+),(\d+)\]\[(\d+),(\d+)\]"/);
  843.         if (m) {
  844.             print.log("✓ ·¢ËͰ´Å¥¶¨Î»£ºÎı¾Æ¥Åä");
  845.             return {
  846.                 x: (parseInt(m[1]) + parseInt(m[3])) / 2,
  847.                 y: (parseInt(m[2]) + parseInt(m[4])) / 2
  848.             };
  849.         }
  850.     }

  851.     var sendDescIdx = xmlStr.indexOf('content-desc="·¢ËÍ"');
  852.     if (sendDescIdx !== -1) {
  853.         var ¶Î2 = xmlStr.substring(sendDescIdx);
  854.         var m2 = ¶Î2.match(/bounds="\[(\d+),(\d+)\]\[(\d+),(\d+)\]"/);
  855.         if (m2) {
  856.             print.log("✓ ·¢ËͰ´Å¥¶¨Î»£ºcontent-descÆ¥Åä");
  857.             return {
  858.                 x: (parseInt(m2[1]) + parseInt(m2[3])) / 2,
  859.                 y: (parseInt(m2[2]) + parseInt(m2[4])) / 2
  860.             };
  861.         }
  862.     }

  863.     print.log("⚠ ·¢ËͰ´Å¥Ê¹ÓÃÆÁÄ»ÓҲඵµ×²ßÂÔ");
  864.     agent.clickPercent(0.9, 0.75);
  865.     print.log("✓ Òѵã»÷·¢ËͰ´Å¥£¨Ó²±àÂë¶µµ×£©");
  866.     return null;
  867. }

  868. function µÈ´ýAI»Ø´ðÍê³É(·¢ËÍǰµÄ×îºóÎı¾, ·¢ËÍǰ»Ø´ðÊýÁ¿) {
  869.     var ÒѺÄʱ = 0;
  870.     var ¼ì²é¼ä¸ôÃë = 3;
  871.     var Á¬ÐøÏàͬ´ÎÊý = 0;
  872.     var Éϴι淶»¯Îı¾ = "";

  873.     print.log("·¢ËÍǰ×îºóAI»Ø´ð£º'" + ·¢ËÍǰµÄ×îºóÎı¾ + "'£¬·¢ËÍǰ»Ø´ðÊýÁ¿£º" + ·¢ËÍǰ»Ø´ðÊýÁ¿);

  874.     sleep.second(Ãë = 5);
  875.     ÒѺÄʱ += 5;

  876.     while (ÒѺÄʱ < µÈ´ý»Ø´ð³¬Ê±Ãë) {
  877.         var xml = »ñÈ¡UI();
  878.         var »Ø´ðÁбí = ²É¼¯AI»Ø´ðÁбí(xml);
  879.         
  880.         if (»Ø´ðÁбí.length > 0) {
  881.             var µ±Ç°×îºó»Ø´ð = »Ø´ðÁбí[»Ø´ðÁбí.length - 1];
  882.             var µ±Ç°ÌáÈ¡Êý×Ö = ÌáÈ¡Êý×Ö(µ±Ç°×îºó»Ø´ð);
  883.             var µ±Ç°¹æ·¶»¯Îı¾ = µ±Ç°×îºó»Ø´ð.trim().replace(/\s+/g, " ");
  884.             
  885.             var ÓÐлشð = false;
  886.             var »Ø´ðÊýÁ¿Ôö¼Ó = (»Ø´ðÁбí.length > ·¢ËÍǰ»Ø´ðÊýÁ¿);
  887.             
  888.             var ·¢ËÍǰ¹æ·¶»¯ = ·¢ËÍǰµÄ×îºóÎı¾.trim().replace(/\s+/g, " ");
  889.             ÓÐлشð = (µ±Ç°¹æ·¶»¯Îı¾ !== ·¢ËÍǰ¹æ·¶»¯) || (µ±Ç°ÌáÈ¡Êý×Ö !== "");
  890.             
  891.             if (ÓÐлشð || »Ø´ðÊýÁ¿Ôö¼Ó) {
  892.                 print.log("✓ ¼ì²âµ½Ð»شð£¨" + ÒѺÄʱ + "Ã룩£º'" + µ±Ç°×îºó»Ø´ð + "'£¬ÌáÈ¡Êý×Ö£º'" + µ±Ç°ÌáÈ¡Êý×Ö + "'");
  893.                
  894.                 if (µ±Ç°ÌáÈ¡Êý×Ö !== "") {
  895.                     print.log("✓ ÌáÈ¡µ½Êý×Ö£¬Ö±½Ó·µ»Ø£º" + µ±Ç°ÌáÈ¡Êý×Ö);
  896.                     return µ±Ç°ÌáÈ¡Êý×Ö;
  897.                 }
  898.                
  899.                 if (µ±Ç°¹æ·¶»¯Îı¾ === Éϴι淶»¯Îı¾) {
  900.                     Á¬ÐøÏàͬ´ÎÊý++;
  901.                     if (Á¬ÐøÏàͬ´ÎÊý >= 2) {
  902.                         print.log("✓ Îı¾Á¬Ðø2´ÎÏàͬ£¬»Ø´ðÍê³É");
  903.                         var ×îÖÕÊý×Ö = ÌáÈ¡Êý×Ö(µ±Ç°×îºó»Ø´ð);
  904.                         if (×îÖÕÊý×Ö !== "") {
  905.                             return ×îÖÕÊý×Ö;
  906.                         }
  907.                         return µ±Ç°×îºó»Ø´ð;
  908.                     }
  909.                 } else {
  910.                     Á¬ÐøÏàͬ´ÎÊý = 0;
  911.                     Éϴι淶»¯Îı¾ = µ±Ç°¹æ·¶»¯Îı¾;
  912.                 }
  913.             }
  914.         }
  915.         
  916.         sleep.second(Ãë = ¼ì²é¼ä¸ôÃë);
  917.         ÒѺÄʱ += ¼ì²é¼ä¸ôÃë;
  918.     }

  919.     print.log("⚠ µÈ´ýAI»Ø´ð³¬Ê±£¨" + µÈ´ý»Ø´ð³¬Ê±Ãë + "Ã룩£¬³¢ÊÔ·µ»Øµ±Ç°ÄÚÈÝ");
  920.     var xml = »ñÈ¡UI();
  921.     var ¶µµ×Áбí = ²É¼¯AI»Ø´ðÁбí(xml);
  922.     if (¶µµ×Áбí.length > 0) {
  923.         var ¶µµ×Îı¾ = ¶µµ×Áбí[¶µµ×Áбí.length - 1];
  924.         print.log("✓ ³¬Ê±¶µµ×£º·µ»Øµ±Ç°²É¼¯µ½µÄ»Ø´ð£º" + ¶µµ×Îı¾);
  925.         return ¶µµ×Îı¾;
  926.     }
  927.     return null;
  928. }

  929. // ========== Ö÷Á÷³Ì¿ªÊ¼ ==========

  930. function Ö÷Á÷³Ì() {
  931.     // ²½Öè1£ºÈ«ÆÁ½ØÍ¼£¨BÕ¾ÑéÖ¤ÂëÒ³Ãæ£©
  932.     print.log("\n========== ²½Öè1£ºÈ«ÆÁ½ØÍ¼BÕ¾ÑéÖ¤Âë ==========");
  933.     var ½ØÍ¼³É¹¦ = È«ÆÁ½ØÍ¼(½ØÍ¼±£´æÂ·¾¶);
  934.     if (!½ØÍ¼³É¹¦) {
  935.         print.log("✗ ½ØÍ¼Ê§°Ü£¬Í˳öÁ÷³Ì");
  936.         print.log("===== DEEPSEEKʶ±ðÑéÖ¤ÂëÍ϶¯BÕ¾Á÷³Ì½áÊø =====");
  937.         return;
  938.     }

  939.     // ²½Öè2£ºÆô¶¯DEEPSEEK APP
  940.     print.log("\n========== ²½Öè2£ºÆô¶¯DEEPSEEK APP ==========");
  941.     try {
  942.         app.openApp(DEEPK°üÃû);
  943.         print.log("✓ ÒÑÆô¶¯DEEPSEEK");
  944.     } catch (e) {
  945.         print.log("⚠ Æô¶¯Ê§°Ü£º" + e.message);
  946.     }
  947.     sleep.second(Ãë = 5);

  948.     // ²½Öè3£ºµã»÷ÓÒÉϽÇжԻ°°´Å¥
  949.     print.log("\n========== ²½Öè3£ºµã»÷ÓÒÉϽÇжԻ°°´Å¥ ==========");
  950.    
  951.     xml = »ñÈ¡UI();
  952.    
  953.     var жԻ°X = ÆÁÄ»¿í * 0.96;
  954.     var жԻ°Y = ÆÁÄ»¸ß * 0.06;
  955.    
  956.     var newChatIdx = xml.indexOf('content-desc="¿ªÆôжԻ°"');
  957.     if (newChatIdx !== -1) {
  958.         var ¶Î = xml.substring(newChatIdx);
  959.         var m = ¶Î.match(/bounds="\[(\d+),(\d+)\]\[(\d+),(\d+)\]"/);
  960.         if (m) {
  961.             Ð¶Ի°X = (parseInt(m[1]) + parseInt(m[3])) / 2;
  962.             Ð¶Ի°Y = (parseInt(m[2]) + parseInt(m[4])) / 2;
  963.             print.log("✓ жԻ°°´Å¥¶¨Î»£ºcontent-desc=¿ªÆôжԻ°£¬×ø±ê(" + Math.round(жԻ°X) + "," + Math.round(жԻ°Y) + ")");
  964.         }
  965.     }
  966.    
  967.     agent.click(жԻ°X, жԻ°Y);
  968.     print.log("✓ Òѵã»÷жԻ°°´Å¥£¬×ø±ê(" + Math.round(жԻ°X) + "," + Math.round(жԻ°Y) + ")");
  969.    
  970.     sleep.second(Ãë = 3);
  971.     print.log("✓ жԻ°²Ù×÷Íê³É");

  972.     // ²½Öè5£ºÈ·±£Ê¶Í¼Ä£Ê½ÒÑ¿ªÆô
  973.     print.log("\n========== ²½Öè5£ºÈ·±£Ê¶Í¼Ä£Ê½ÒÑ¿ªÆô ==========");
  974.    
  975.     var ʶͼģʽX = ÆÁÄ»¿í * 0.8;
  976.     var ʶͼģʽY = ÆÁÄ»¸ß * 0.53;
  977.    
  978.     var visualModeIdx = xml.indexOf('text="ʶͼģʽ"');
  979.     if (visualModeIdx !== -1) {
  980.         var ¶Î = xml.substring(visualModeIdx);
  981.         var m = ¶Î.match(/bounds="\[(\d+),(\d+)\]\[(\d+),(\d+)\]"/);
  982.         if (m) {
  983.             Ê¶Í¼Ä£Ê½X = (parseInt(m[1]) + parseInt(m[3])) / 2;
  984.             Ê¶Í¼Ä£Ê½Y = (parseInt(m[2]) + parseInt(m[4])) / 2;
  985.             print.log("✓ ʶͼģʽ°´Å¥¶¨Î»£ºtext=ʶͼģʽ£¬×ø±ê(" + Math.round(ʶͼģʽX) + "," + Math.round(ʶͼģʽY) + ")");
  986.         }
  987.     } else {
  988.         print.log("⚠ XMLÖÐδÕÒµ½Ê¶Í¼Ä£Ê½°´Å¥£¬Ê¹Óöµµ××ø±ê");
  989.     }
  990.    
  991.     agent.click(ʶͼģʽX, ʶͼģʽY);
  992.     print.log("✓ Òѵã»÷ʶͼģʽ°´Å¥£¬×ø±ê(" + Math.round(ʶͼģʽX) + "," + Math.round(ʶͼģʽY) + ")");
  993.     sleep.second(Ãë = 2);
  994.     xml = »ñÈ¡UI();

  995.     // ²½Öè6£º¼Ç¼·¢ËÍǰµÄ×îºóÒ»ÌõAI»Ø´ðºÍÊýÁ¿
  996.     print.log("\n========== ²½Öè6£º¼Ç¼·¢ËÍǰ״̬ ==========");
  997.     var ·¢ËÍǰ»Ø´ðÊýÁ¿ = 0;
  998.     print.log("✓ ·¢ËÍǰ»Ø´ðÊýÁ¿£º" + ·¢ËÍǰ»Ø´ðÊýÁ¿);

  999.     // ²½Öè7£ºµã»÷¼ÓºÅ°´Å¥´ò¿ª¸½¼þ²Ëµ¥
  1000.     print.log("\n========== ²½Öè7£ºµã»÷¼ÓºÅ°´Å¥´ò¿ª¸½¼þ²Ëµ¥ ==========");
  1001.    
  1002.     var ¼ÓºÅX = ÆÁÄ»¿í * 0.83;
  1003.     var ¼ÓºÅY = ÆÁÄ»¸ß * 0.97;
  1004.    
  1005.     var plusDescIdx = xml.indexOf('content-desc="ÉÏ´«Îļþ"');
  1006.     if (plusDescIdx !== -1) {
  1007.         var ¶Î = xml.substring(plusDescIdx);
  1008.         var m = ¶Î.match(/bounds="\[(\d+),(\d+)\]\[(\d+),(\d+)\]"/);
  1009.         if (m) {
  1010.             ¼ÓºÅX = (parseInt(m[1]) + parseInt(m[3])) / 2;
  1011.             ¼ÓºÅY = (parseInt(m[2]) + parseInt(m[4])) / 2;
  1012.             print.log("✓ ¼ÓºÅ°´Å¥¶¨Î»£ºcontent-desc=ÉÏ´«Îļþ£¬×ø±ê(" + Math.round(¼ÓºÅX) + "," + Math.round(¼ÓºÅY) + ")");
  1013.         }
  1014.     } else {
  1015.         print.log("⚠ XMLÖÐδÕÒµ½¼ÓºÅ°´Å¥£¬Ê¹Óöµµ××ø±ê");
  1016.     }
  1017.    
  1018.     agent.click(¼ÓºÅX, ¼ÓºÅY);
  1019.     print.log("✓ Òѵã»÷¼ÓºÅ°´Å¥£¬×ø±ê(" + Math.round(¼ÓºÅX) + "," + Math.round(¼ÓºÅY) + ")");
  1020.     sleep.second(Ãë = 2);

  1021.     // ²½Öè8£ºµã»÷Ïà²á°´Å¥Ñ¡ÔñͼƬ
  1022.     print.log("\n========== ²½Öè8£ºµã»÷Ïà²á°´Å¥Ñ¡ÔñͼƬ ==========");
  1023.    
  1024.     var Ïà²áÑ¡Ôñ³É¹¦ = false;
  1025.     var ³¢ÊÔ´ÎÊý = 0;
  1026.    
  1027.     while (!Ïà²áÑ¡Ôñ³É¹¦ && ³¢ÊÔ´ÎÊý < 5) {
  1028.         ³¢ÊÔ´ÎÊý++;
  1029.         xml = »ñÈ¡UI();
  1030.         
  1031.         if (ÊÇ·ñÔÚϵͳÏà²áÒ³Ãæ(xml)) {
  1032.             print.log("✓ ÒѽøÈëϵͳÏà²áÒ³Ãæ");
  1033.             Ïà²áÑ¡Ôñ³É¹¦ = true;
  1034.             break;
  1035.         }
  1036.         
  1037.         var Ïà²áX = ÆÁÄ»¿í * 0.5;
  1038.         var Ïà²áY = ÆÁÄ»¸ß * 0.88;
  1039.         
  1040.         var albumIdx = xml.indexOf('text="Ïà²á"');
  1041.         if (albumIdx !== -1) {
  1042.             var ¶Î = xml.substring(albumIdx);
  1043.             var m = ¶Î.match(/bounds="\[(\d+),(\d+)\]\[(\d+),(\d+)\]"/);
  1044.             if (m) {
  1045.                 Ïà²áX = (parseInt(m[1]) + parseInt(m[3])) / 2;
  1046.                 Ïà²áY = (parseInt(m[2]) + parseInt(m[4])) / 2;
  1047.                 print.log("✓ Ïà²á°´Å¥¶¨Î»£ºtext=Ïà²á£¬×ø±ê(" + Math.round(Ïà²áX) + "," + Math.round(Ïà²áY) + ")");
  1048.             }
  1049.         }
  1050.         
  1051.         agent.click(Ïà²áX, Ïà²áY);
  1052.         print.log("✓ Òѵã»÷Ïà²á°´Å¥£¬×ø±ê(" + Math.round(Ïà²áX) + "," + Math.round(Ïà²áY) + ")");
  1053.         sleep.second(Ãë = 2);
  1054.         
  1055.         xml = »ñÈ¡UI();
  1056.         if (ÊÇ·ñÔÚϵͳÏà²áÒ³Ãæ(xml)) {
  1057.             print.log("✓ ÒѽøÈëϵͳÏà²áÒ³Ãæ");
  1058.             Ïà²áÑ¡Ôñ³É¹¦ = true;
  1059.             break;
  1060.         }
  1061.         
  1062.         print.log("⚠ µÚ" + ³¢ÊÔ´ÎÊý + "´Î³¢ÊÔ£ºÎ´½øÈëÏà²áÒ³Ãæ£¬ÖØÐµã»÷¼ÓºÅ");
  1063.         agent.click(ÆÁÄ»¿í * 0.77, ÆÁÄ»¸ß * 0.94);
  1064.         sleep.second(Ãë = 2);
  1065.     }

  1066.     // ²½Öè9£ºÑ¡ÔñµÚÒ»ÕÅͼƬ£¨ÏµÍ³Ïà²áÓÃCanvasäÖȾ£¬XMLÎ޽ڵ㣬ֱ½Ó×ø±êµã»÷£©
  1067.     print.log("\n========== ²½Öè9£ºÑ¡ÔñµÚÒ»ÕÅͼƬ ==========");
  1068.    
  1069.     var ͼƬ³¢ÊÔ´ÎÊý = 0;
  1070.     while (ͼƬ³¢ÊÔ´ÎÊý < 3) {
  1071.         Í¼Æ¬³¢ÊÔ´ÎÊý++;
  1072.         xml = »ñÈ¡UI();
  1073.         
  1074.         if (ÊÇ·ñÔÚϵͳÏà²áÒ³Ãæ(xml)) {
  1075.             print.log("✓ ϵͳÏà²áÒ³Ãæ£¬µã»÷ͼƬλÖÃ");
  1076.             
  1077.             var ±êÌâÀ¸µ×²¿ = 432;
  1078.             var actionBarMatch = xml.match(/resource-id="android:id\/action_bar"[^>]*?bounds="\[(\d+),(\d+)\]\[(\d+),(\d+)\]"/);
  1079.             if (actionBarMatch) {
  1080.                 ±êÌâÀ¸µ×²¿ = parseInt(actionBarMatch[4]);
  1081.             }
  1082.             
  1083.             var Í¼Æ¬ÇøÓò¶¥²¿ = ±êÌâÀ¸µ×²¿;
  1084.             var Í¼Æ¬ÇøÓòµ×²¿ = ÆÁÄ»¸ß;
  1085.             var Í¼Æ¬ÇøÓò¸ß¶È = Í¼Æ¬ÇøÓòµ×²¿ - Í¼Æ¬ÇøÓò¶¥²¿;
  1086.             
  1087.             var ͼƬX = ÆÁÄ»¿í * 0.5;
  1088.             var ͼƬY = Í¼Æ¬ÇøÓò¶¥²¿ + Í¼Æ¬ÇøÓò¸ß¶È * 0.4;
  1089.             agent.click(ͼƬX, ͼƬY);
  1090.             print.log("✓ Òѵã»÷ͼƬλÖã¬×ø±ê(" + Math.round(ͼƬX) + "," + Math.round(ͼƬY) + ")");
  1091.             sleep.second(Ãë = 3);
  1092.             
  1093.             xml = »ñÈ¡UI();
  1094.             if (!ÊÇ·ñÔÚϵͳÏà²áÒ³Ãæ(xml)) {
  1095.                 print.log("✓ ÒÑÀ뿪Ïà²áÒ³Ãæ£¬Í¼Æ¬¿ÉÄÜÒÑÌí¼Ó");
  1096.                 break;
  1097.             }
  1098.         } else {
  1099.             break;
  1100.         }
  1101.     }

  1102.     // ²½Öè10£ºµÈ´ýͼƬÌí¼Óµ½ÊäÈëÇøÓò£¨µÈ´ý»Øµ½DEEPSEEK¶Ô»°Ò³Ã棩
  1103.     print.log("\n========== ²½Öè10£ºµÈ´ýͼƬÌí¼Óµ½ÊäÈëÇøÓò ==========");
  1104.     sleep.second(Ãë = 3);
  1105.     xml = »ñÈ¡UI();
  1106.    
  1107.     var packageMatch = xml.match(/package="([^"]+)"/);
  1108.     if (packageMatch && packageMatch[1] === DEEPK°üÃû) {
  1109.         print.log("✓ Òѻص½DEEPSEEK¶Ô»°Ò³Ãæ");
  1110.     }
  1111.    
  1112.     print.log("✓ ͼƬÒÑÌí¼Óµ½ÊäÈëÇøÓò");
  1113.    
  1114.     var isQuickMode = xml.indexOf('¿ìËÙģʽ') !== -1;
  1115.     if (isQuickMode) {
  1116.         print.log("✓ µ±Ç°ÊÇ¿ìËÙģʽ£¬Çл»µ½Ê¶Í¼Ä£Ê½");
  1117.         var ʶͼģʽX = ÆÁÄ»¿í * 0.75;
  1118.         var ʶͼģʽY = ÆÁÄ»¸ß * 0.72;
  1119.         agent.click(ʶͼģʽX, ʶͼģʽY);
  1120.         print.log("✓ Òѵã»÷ʶͼģʽ°´Å¥£¬×ø±ê(" + Math.round(ʶͼģʽX) + "," + Math.round(ʶͼģʽY) + ")");
  1121.         sleep.second(Ãë = 2);
  1122.     }

  1123.     // ²½Öè11£ºÕ³ÌùÎÄ×ÖѯÎÊÍ϶¯¾àÀë
  1124.     print.log("\n========== ²½Öè11£ºÕ³ÌùÎÄ×ÖѯÎÊÍ϶¯¾àÀë ==========");
  1125.     xml = »ñÈ¡UI();
  1126.    
  1127.     var ÊäÈë¿òX = ÆÁÄ»¿í * 0.2;
  1128.     var ÊäÈë¿òY = ÆÁÄ»¸ß * 0.72;
  1129.    
  1130.     var editTextIdx = xml.indexOf('class="android.widget.EditText"');
  1131.     if (editTextIdx !== -1) {
  1132.         var ¶Î = xml.substring(editTextIdx);
  1133.         var m = ¶Î.match(/bounds="\[(\d+),(\d+)\]\[(\d+),(\d+)\]"/);
  1134.         if (m) {
  1135.             ÊäÈë¿òX = (parseInt(m[1]) + parseInt(m[3])) / 2;
  1136.             ÊäÈë¿òY = (parseInt(m[2]) + parseInt(m[4])) / 2;
  1137.             print.log("✓ ÊäÈë¿ò¶¨Î»£ºclass=EditText£¬×ø±ê(" + Math.round(ÊäÈë¿òX) + "," + Math.round(ÊäÈë¿òY) + ")");
  1138.         }
  1139.     } else {
  1140.         var inputKeywords = ["text=\"·¢ÏûÏ¢\"", "text=\"·¢ÏûÏ¢»ò°´×¡Ëµ»°\"", "text=\"ÔÚÕâÀïÌáÎÊ\"", "text=\"½Ó×ÅÎÊ\""];
  1141.         for (var k = 0; k < inputKeywords.length; k++) {
  1142.             var idx = xml.indexOf(inputKeywords[k]);
  1143.             if (idx !== -1) {
  1144.                 var ¶Î = xml.substring(idx);
  1145.                 var m = ¶Î.match(/bounds="\[(\d+),(\d+)\]\[(\d+),(\d+)\]"/);
  1146.                 if (m) {
  1147.                     ÊäÈë¿òX = (parseInt(m[1]) + parseInt(m[3])) / 2;
  1148.                     ÊäÈë¿òY = (parseInt(m[2]) + parseInt(m[4])) / 2;
  1149.                     print.log("✓ ÊäÈë¿ò¶¨Î»£º" + inputKeywords[k].replace('text="', '').replace('"', '') + "£¬×ø±ê(" + Math.round(ÊäÈë¿òX) + "," + Math.round(ÊäÈë¿òY) + ")");
  1150.                     break;
  1151.                 }
  1152.             }
  1153.         }
  1154.     }
  1155.    
  1156.     agent.click(ÊäÈë¿òX, ÊäÈë¿òY);
  1157.     print.log("✓ Òѵã»÷ÊäÈë¿ò£¬×ø±ê(" + Math.round(ÊäÈë¿òX) + "," + Math.round(ÊäÈë¿òY) + ")");
  1158.     sleep.second(Ãë = 2);
  1159.    
  1160.     try {
  1161.         Clipboard.copy("" + ÌáÎÊ»°Êõ);
  1162.         sleep.millisecond(ºÁÃë = 500);
  1163.         agent.shell("input keyevent 279");
  1164.         sleep.second(Ãë = 2);
  1165.         print.log("✓ ÒÑͨ¹ý¼ôÌù°åÕ³ÌùÎı¾");
  1166.     } catch (e) {
  1167.         print.log("⚠ ¼ôÌù°åÕ³Ìùʧ°Ü£º" + e.message);
  1168.         agent.shell("input text '" + ÌáÎÊ»°Êõ + "'");
  1169.         sleep.second(Ãë = 2);
  1170.         print.log("✓ ÒÑͨ¹ýinput textÖ±½ÓÊäÈëÎı¾");
  1171.     }
  1172.     sleep.second(Ãë = 2);

  1173.     // ²½Öè12£º·¢ËÍͼƬºÍÎÄ×Ö
  1174.     print.log("\n========== ²½Öè12£º·¢ËÍͼƬºÍÎÄ×Ö ==========");
  1175.    
  1176.     var detects = opencv.findImagesEx('ͼɫ769678.cv');
  1177.     if (detects != null) {
  1178.         print.log("✓ ͼɫƥÅäÕÒµ½·¢ËͰ´Å¥");
  1179.         print.log("ͼɫƥÅä½á¹û£º" + detects[0]);
  1180.         var dStr = "" + detects[0];
  1181.         var m = dStr.match(/¾ØÐÎÇøÓò:([\d.]+),\s*([\d.]+),\s*([\d.]+),\s*([\d.]+)/);
  1182.         if (m) {
  1183.             var left = parseFloat(m[1]);
  1184.             var top = parseFloat(m[2]);
  1185.             var right = parseFloat(m[3]);
  1186.             var bottom = parseFloat(m[4]);
  1187.             var centerX = (left + right) / 2;
  1188.             var centerY = (top + bottom) / 2;
  1189.             agent.clickPercent(centerX, centerY);
  1190.             print.log("✓ Òѵã»÷·¢ËͰ´Å¥£¨Í¼É«Æ¥Å䣩£¬°Ù·Ö±È×ø±ê(" + centerX.toFixed(4) + "," + centerY.toFixed(4) + ")");
  1191.         }
  1192.     } else {
  1193.         print.log("⚠ ͼɫƥÅäδÕÒµ½·¢ËͰ´Å¥");
  1194.     }
  1195.    
  1196.     sleep.second(Ãë = 35);

  1197.     // ²½Öè13£ºµÈ´ýDEEPSEEK AI»Ø´ð
  1198.     print.log("\n========== ²½Öè13£ºµÈ´ýDEEPSEEK AI»Ø´ð ==========");
  1199.     xml = »ñÈ¡UI();
  1200.     var AI»Ø´ð = µÈ´ýAI»Ø´ðÍê³É("", 0);
  1201.    
  1202.     if (!AI»Ø´ð) {
  1203.         print.log("✗ δ»ñÈ¡µ½AI»Ø´ð");
  1204.         print.log("===== DEEPSEEKʶ±ðÑéÖ¤ÂëÍ϶¯BÕ¾Á÷³Ì½áÊø =====");
  1205.         return;
  1206.     }

  1207.     print.log("\n✓ ²É¼¯µ½AI»Ø´ð");
  1208.     print.log("--- ²É¼¯ÄÚÈÝ¿ªÊ¼ ---");
  1209.     print.log(AI»Ø´ð);
  1210.     print.log("--- ²É¼¯ÄÚÈݽáÊø ---");

  1211.     // ²½Öè14£º½âÎöÍ϶¯¾àÀë×ø±ê
  1212.     print.log("\n========== ²½Öè14£º½âÎöÍ϶¯¾àÀë×ø±ê ==========");
  1213.     print.log("✓ AIԭʼ»Ø´ð£º'" + AI»Ø´ð + "'");
  1214.    
  1215.     var ËùÓÐÊý×Ö = AI»Ø´ð.match(/\d+/g);
  1216.     var Í϶¯¾àÀëÏñËØ = null;
  1217.     var AIͼÏñ¿í¶È = null;
  1218.    
  1219.     if (ËùÓÐÊý×Ö && ËùÓÐÊý×Ö.length >= 2) {
  1220.         var Êý×ÖÁбí = [];
  1221.         for (var i = 0; i < ËùÓÐÊý×Ö.length; i++) {
  1222.             Êý×ÖÁбí.push(parseInt(ËùÓÐÊý×Ö[i]));
  1223.         }
  1224.         print.log("✓ ÌáÈ¡µ½ËùÓÐÊý×Ö£º" + Êý×ÖÁбí.join(", "));
  1225.         
  1226.         if (Êý×ÖÁбí.length >= 5) {
  1227.             var x1 = Êý×ÖÁбí[0];
  1228.             var y1 = Êý×ÖÁбí[1];
  1229.             var x2 = Êý×ÖÁбí[2];
  1230.             var y2 = Êý×ÖÁбí[3];
  1231.             AIͼÏñ¿í¶È = Êý×ÖÁбí[4];
  1232.             Í϶¯¾àÀëÏñËØ = Math.abs(x2 - x1);
  1233.             print.log("✓ ʶ±ðµ½Á½×é×ø±ê+ͼÏñ¿í¶È£º(" + x1 + "," + y1 + ") ºÍ (" + x2 + "," + y2 + ")£¬Í¼Ïñ¿í¶È=" + AIͼÏñ¿í¶È);
  1234.             print.log("✓ ¼ÆËãÍ϶¯¾àÀ룺|x2 - x1| = |" + x2 + " - " + x1 + "| = " + Í϶¯¾àÀëÏñËØ);
  1235.         } else if (Êý×ÖÁбí.length >= 4) {
  1236.             var x1 = Êý×ÖÁбí[0];
  1237.             var y1 = Êý×ÖÁбí[1];
  1238.             var x2 = Êý×ÖÁбí[2];
  1239.             var y2 = Êý×ÖÁбí[3];
  1240.             Í϶¯¾àÀëÏñËØ = Math.abs(x2 - x1);
  1241.             AIͼÏñ¿í¶È = Math.max(x1, x2) + 100;
  1242.             print.log("✓ ʶ±ðµ½Á½×é×ø±ê¸ñʽ£º(" + x1 + "," + y1 + ") ºÍ (" + x2 + "," + y2 + ")");
  1243.             print.log("✓ ¼ÆËãÍ϶¯¾àÀ룺|x2 - x1| = |" + x2 + " - " + x1 + "| = " + Í϶¯¾àÀëÏñËØ);
  1244.             print.log("✓ ¹ÀËãͼÏñ¿í¶È£ºmax(x1,x2)+100 = " + AIͼÏñ¿í¶È);
  1245.         } else if (Êý×ÖÁбí.length >= 2) {
  1246.             var ×ø±êÆ¥Åä = AI»Ø´ð.match(/(\d+)\s*[,£¬]\s*(\d+)/);
  1247.             if (×ø±êÆ¥Åä) {
  1248.                 var cx1 = parseInt(×ø±êÆ¥Åä[1]);
  1249.                 var cx2 = parseInt(×ø±êÆ¥Åä[2]);
  1250.                 Í϶¯¾àÀëÏñËØ = Math.abs(cx2 - cx1);
  1251.                 AIͼÏñ¿í¶È = Math.max(cx1, cx2) + 100;
  1252.                 print.log("✓ ʶ±ðµ½×ø±ê¸ñʽ£º(" + cx1 + "," + cx2 + ")£¬¼ÆËã¾àÀ룺" + Í϶¯¾àÀëÏñËØ);
  1253.             } else {
  1254.                 Í϶¯¾àÀëÏñËØ = Êý×ÖÁбí[0];
  1255.                 print.log("✓ ÌáÈ¡µ½µ¥¸öÊý×Ö£¨Í϶¯¾àÀ룩£º" + Í϶¯¾àÀëÏñËØ);
  1256.             }
  1257.         } else {
  1258.             Í϶¯¾àÀëÏñËØ = Êý×ÖÁбí[0];
  1259.             print.log("✓ ÌáÈ¡µ½µ¥¸öÊý×Ö£¨Í϶¯¾àÀ룩£º" + Í϶¯¾àÀëÏñËØ);
  1260.         }
  1261.     } else if (ËùÓÐÊý×Ö && ËùÓÐÊý×Ö.length === 1) {
  1262.         Í϶¯¾àÀëÏñËØ = parseInt(ËùÓÐÊý×Ö[0]);
  1263.         print.log("✓ ÌáÈ¡µ½µ¥¸öÊý×Ö£¨Í϶¯¾àÀ룩£º" + Í϶¯¾àÀëÏñËØ);
  1264.     } else {
  1265.         print.log("✗ δÕÒµ½ÓÐЧµÄÍ϶¯¾àÀë");
  1266.         print.log("===== DEEPSEEKʶ±ðÑéÖ¤ÂëÍ϶¯BÕ¾Á÷³Ì½áÊø =====");
  1267.         return;
  1268.     }
  1269.    
  1270.     var ͼÏñËõ·ÅϵÊý = 1.0;
  1271.     if (Í϶¯¾àÀëÏñËØ < 30) {
  1272.         print.log("⚠ ÌáÈ¡µ½µÄÍ϶¯¾àÀë¹ýС(" + Í϶¯¾àÀëÏñËØ + ")£¬¿ÉÄÜÊÇOCRʶ±ð´íÎó£¬Ìø¹ýËõ·Å²¹³¥");
  1273.     } else if (AIͼÏñ¿í¶È && AIͼÏñ¿í¶È > 0 && AIͼÏñ¿í¶È < ÆÁÄ»¿í) {
  1274.         Í¼ÏñËõ·ÅϵÊý = ÆÁÄ»¿í / AIͼÏñ¿í¶È;
  1275.         if (ͼÏñËõ·ÅϵÊý > 5) {
  1276.             Í¼ÏñËõ·ÅϵÊý = 1.0;
  1277.         } else {
  1278.             Í϶¯¾àÀëÏñËØ = Math.round(Í϶¯¾àÀëÏñËØ * ͼÏñËõ·ÅϵÊý);
  1279.             print.log("✓ ͼÏñËõ·Å²¹³¥£ºAIͼÏñ¿í¶È=" + AIͼÏñ¿í¶È + "£¬ÆÁÄ»¿í=" + ÆÁÄ»¿í);
  1280.             print.log("✓ Ëõ·ÅϵÊý=" + ͼÏñËõ·ÅϵÊý.toFixed(2) + "£¬²¹³¥ºóÍ϶¯¾àÀë=" + Í϶¯¾àÀëÏñËØ);
  1281.         }
  1282.     } else {
  1283.         Í¼ÏñËõ·ÅϵÊý = ÆÁÄ»¿í / 750;
  1284.         Í϶¯¾àÀëÏñËØ = Math.round(Í϶¯¾àÀëÏñËØ * ͼÏñËõ·ÅϵÊý);
  1285.         print.log("✓ µ¥Êý×Öģʽ²¹³¥£º¼ÙÉèAIͼÏñ¿í¶È¡Ö750£¬Ëõ·ÅϵÊý=" + ͼÏñËõ·ÅϵÊý.toFixed(2));
  1286.         print.log("✓ ²¹³¥ºóÍ϶¯¾àÀë=" + Í϶¯¾àÀëÏñËØ);
  1287.     }
  1288.    
  1289.     ÑéÖ¤Â뻬¿é¾àÀë = {
  1290.         x: Í϶¯¾àÀëÏñËØ,
  1291.         y: 0
  1292.     };

  1293.     // ²½Öè15£ºÇл»»ØBÕ¾²¢Í϶¯»¬¿é
  1294.     print.log("\n========== ²½Öè15£ºÇл»»ØBÕ¾²¢Í϶¯»¬¿é ==========");
  1295.    
  1296.     agent.shell("input keyevent 187");
  1297.     print.log("✓ ÒѰ´ºǫ́¼ü´ò¿ªÈÎÎñÁбí");
  1298.     sleep.second(Ãë = 2);
  1299.    
  1300.     xml = »ñÈ¡UI();
  1301.     var biliIdx = xml.indexOf('ßÙÁ¨ßÙÁ¨');
  1302.     if (biliIdx === -1) {
  1303.         biliIdx = xml.indexOf('bilibili');
  1304.     }
  1305.     if (biliIdx === -1) {
  1306.         biliIdx = xml.indexOf('BÕ¾');
  1307.     }
  1308.    
  1309.     if (biliIdx !== -1) {
  1310.         var ¶Î = xml.substring(biliIdx);
  1311.         var m = ¶Î.match(/bounds="\[(\d+),(\d+)\]\[(\d+),(\d+)\]"/);
  1312.         if (m) {
  1313.             var clickX = (parseInt(m[1]) + parseInt(m[3])) / 2;
  1314.             var clickY = (parseInt(m[2]) + parseInt(m[4])) / 2;
  1315.             agent.click(clickX, clickY);
  1316.             print.log("✓ Òѵã»÷BÕ¾ÈÎÎñ¿¨Æ¬£¬×ø±ê(" + Math.round(clickX) + "," + Math.round(clickY) + ")");
  1317.         }
  1318.     } else {
  1319.         print.log("⚠ δÕÒµ½BÕ¾ÈÎÎñ¿¨Æ¬£¬³¢ÊÔÖ±½Ó´ò¿ª");
  1320.         try {
  1321.             app.openApp(BÕ¾°üÃû);
  1322.             print.log("✓ ÒÑ´ò¿ªBÕ¾");
  1323.         } catch (e) {
  1324.             print.log("⚠ ´ò¿ªBվʧ°Ü£º" + e.message);
  1325.         }
  1326.     }
  1327.     sleep.second(Ãë = 3);

  1328.     xml = »ñÈ¡UI();
  1329.     var ÑéÖ¤ÂëÇøÓò×ó±ß½ç = ÆÁÄ»¿í * 0.15;
  1330.    
  1331.     var »¬¿é¹ìµÀÆ¥Åä = xml.match(/<node[^>]*?text="Í϶¯»¬¿éÍê³Éƴͼ"[^>]*?bounds="\[(\d+),(\d+)\]\[(\d+),(\d+)\]"/);
  1332.     if (»¬¿é¹ìµÀÆ¥Åä) {
  1333.         ÑéÖ¤ÂëÇøÓò×ó±ß½ç = parseInt(»¬¿é¹ìµÀÆ¥Åä[1]);
  1334.     }

  1335.     var Í϶¯¾àÀë = ÑéÖ¤Â뻬¿é¾àÀë.x * »¬¿éУ׼ϵÊý;

  1336.     var startX = ÑéÖ¤ÂëÇøÓò×ó±ß½ç + 50;
  1337.     var startY = ÆÁÄ»¸ß * 0.42;
  1338.     var endX = startX + Í϶¯¾àÀë;
  1339.     var endY = startY;

  1340.     print.log("✓ ÑéÖ¤ÂëÇøÓò×ó±ß½ç: " + ÑéÖ¤ÂëÇøÓò×ó±ß½ç + ", Í϶¯¾àÀë: " + Í϶¯¾àÀë);
  1341.     agent.swip(startX, startY, endX, endY, 2000);
  1342.     print.log("✓ ÒÑÍ϶¯»¬¿é£¬Æðµã(" + Math.round(startX) + "," + Math.round(startY) + ")£¬ÖÕµã(" + Math.round(endX) + "," + Math.round(endY) + ")");
  1343. }

  1344. Ö÷Á÷³Ì();

  1345. print.log("\n===== DEEPSEEKʶ±ðÑéÖ¤ÂëÍ϶¯BÕ¾Á÷³Ì½áÊø =====");        
¸´ÖÆ´úÂë


»Ø¸´

ʹÓõÀ¾ß ¾Ù±¨

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

¹Ø±Õ

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

map2

GMT+8, 2026-7-21 17:01 , Processed in 0.094456 second(s), 35 queries .

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