B2BÍøÂçÈí¼þ

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

¾©¶«Ã¿ÈÕÇ©µ½Á쾩¶¹½Å±¾

[¸´ÖÆÁ´½Ó]

1146

Ö÷Ìâ

1151

Ìû×Ó

7861

»ý·Ö

abc

Rank: 9Rank: 9Rank: 9

»ý·Ö
7861
Ìø×ªµ½Ö¸¶¨Â¥²ã
Â¥Ö÷
¾©¶«Ã¿ÈÕÇ©µ½Á쾩¶¹½Å±¾
¾©¶«Ã¿ÈÕÇ©µ½Á쾩¶¹½Å±¾ B2BÍøÂçÈí¼þ
  1. /*
  2. * ============================================================
  3. * AIWROK ¾©¶«Ã¿ÈÕÇ©µ½Á쾩¶¹½Å±¾ - ÎÞÕϰ­AUTOģʽ
  4. * ============================================================
  5. * ¹¦ÄÜ: ×Ô¶¯´ò¿ª¾©¶«APP£¬½øÈëÇ©µ½Ò³ÃæÍê³ÉÿÈÕÇ©µ½Á쾩¶¹
  6. * Á÷³Ì: Æô¶¯¾©¶« ¡ú ½øÈë"ÎÒµÄ" ¡ú µã»÷Ç©µ½Èë¿Ú ¡ú Íê³ÉÇ©µ½ ¡ú
  7. *       ÁìÈ¡½±Àø ¡ú ¹Ø±Õµ¯´° ¡ú ͳ¼Æ½á¹û
  8. *
  9. * ¼¼ÊõÌØµã:
  10. *   1. ´¿ÎÞÕϰ­½Úµã½âÎö£¬²»ÒÀÀµ¹Ì¶¨×ø±ê
  11. *   2. Èý¼¶°²È«µã»÷²ßÂÔ£¨½ÚµãÖ±µã¡ú¸¸½Úµã¡ú×ø±ê¶µµ×£©
  12. *   3. ¶à·¾¶Ç©µ½Èë¿Ú²éÕÒ£¨Ç©µ½¿¨Æ¬¡úÁ쾩¶¹¡úÇ©µ½°´Å¥£©
  13. *   4. ×Ô¶¯¹Ø±Õ¹ã¸æµ¯´°ºÍ½±Àøµ¯´°
  14. *   5. Ç©µ½×´Ì¬¼ì²â£¨ÒÑÇ©µ½/δǩµ½/Ç©µ½³É¹¦£©
  15. *   6. Ö§³Ö¶¨Ê±Ñ­»·Ö´ÐУ¨Ã¿ÈÕ×Ô¶¯Ç©µ½£©
  16. *   7. Á¬Ðø´íÎó×Ô¶¯»Ö¸´ÓëAPPÖØÆô
  17. *
  18. * ¼æÈÝÐÔ: Rhino ES5 ÒýÇæ / AIWROK °²×¿×Ô¶¯»¯Æ½Ì¨
  19. * ============================================================
  20. */

  21. print.log("===== ¾©¶«Ã¿ÈÕÇ©µ½Á쾩¶¹£¨ÎÞÕϰ­AUTOģʽ£©=====");
  22. print.time();

  23. // ============================================================
  24. // Ò»¡¢ÅäÖòÎÊý
  25. // ============================================================
  26. var config = {
  27.     APP°üÃû: "com.jingdong.app.mall",    // ¾©¶«É̳ǰüÃû
  28.     Ò³Ãæ¼ÓÔØµÈ´ýÃë: 5,                     // Ò³ÃæÇл»µÈ´ýÃëÊý
  29.     ²Ù×÷¼ä¸ôºÁÃë: 1000,                   // ²Ù×÷¼ä¸ôºÁÃë
  30.     ×î´óÖØÊÔ´ÎÊý: 3,                      // µ¥²½²Ù×÷×î´óÖØÊÔ´ÎÊý
  31.     ×î´óÁ¬Ðø´íÎó: 5,                      // Á¬Ðø´íÎóÉÏÏÞ
  32.     µ÷ÊÔģʽ: 'test',                     // µ÷ÊÔģʽ£º'debug'=Ö»Êä³öÒ³Ãæ½ÚµãÕªÒª²»Ç©µ½, 'test'=Ö´ÐÐÍêÕûÇ©µ½Á÷³Ì, 'false'=Õý³£Ä£Ê½
  33.     Ñ­»·Ç©µ½: false,                      // ÊÇ·ñÑ­»·Ç©µ½£¨¶¨Ê±Ä£Ê½£©
  34.     Ñ­»·¼ä¸ô·ÖÖÓ: 30,                     // Ñ­»·¼ä¸ô·ÖÖÓÊý
  35.     // Ç©µ½Èë¿Ú¹Ø¼ü´Ê£º¾©¶«Ç©µ½Èë¿ÚÔÚ"ÎÒµÄ"Ò³Ãæ"Áì88¶¹"°´Å¥
  36.     // ʵ¼Ê¿Éµã»÷½Úµãdesc="Áì88¶¹¾©¶¹×î¸ß"£¬text="Áì88¶¹"£¨²»¿Éµã»÷£¬Ð踸½Úµã±éÀú£©
  37.     // Êý×ÖÿÌì±ä»¯£¬ÓÃtextIncludesÆ¥Åä"¶¹"»òdescÆ¥Åä"Áì"+"¶¹"
  38.     Ê×ҳǩµ½Èë¿Ú: ["Á쾩¶¹", "Ç©µ½", "Ç©µ½Áì¶¹", "Áì½ð±Ò", "˫ǩ", "ÿÈÕÇ©µ½"],
  39.     ÎÒµÄҳǩµ½Èë¿Ú: ["ÿÈÕÇ©µ½", "Á쾩¶¹", "Ç©µ½", "Ç©µ½Áì¶¹", "×öÈÎÎñÁ쾩¶¹", "Ç©µ½ÖÐÐÄ", "Áì½ð±Ò", "Áì88¶¹"]
  40. };

  41. // ============================================================
  42. // ¶þ¡¢³õʼ»¯
  43. // ============================================================
  44. print.log("\n¡¾³õʼ»¯¡¿ÉèÖÃÎÞÕϰ­Ïêϸģʽ...");
  45. auto.setDetailedModel();

  46. var ÆÁÄ»¿í = screen.getScreenWidth();
  47. var ÆÁÄ»¸ß = screen.getScreenHeight();
  48. print.log("ÆÁÄ»³ß´ç£º" + ÆÁÄ»¿í + " x " + ÆÁÄ»¸ß);

  49. // ============================================================
  50. // Èý¡¢Í¨Óù¤¾ßº¯Êý
  51. // ============================================================

  52. /**
  53. * ²éÕÒÎÄ×ֽڵ㣨ͬʱËÑË÷textºÍdescÊôÐÔ£©
  54. * @param {Array} ¹Ø¼ü´ÊÁбí - ¹Ø¼ü´ÊÊý×飬ÒÀ´Î³¢ÊÔ¾«È·Æ¥ÅäºÍ°üº¬Æ¥Åä
  55. * @return {Object} ÕÒµ½µÄ½Úµã¶ÔÏó»ònull
  56. */
  57. function ²éÕÒÎÄ×Ö½Úµã(¹Ø¼ü´ÊÁбí) {
  58.     try {
  59.         var ½Úµã¼¯ºÏ = auto.nodeSearch(2000);
  60.         if (½Úµã¼¯ºÏ == '' || ½Úµã¼¯ºÏ == null) {
  61.             return null;
  62.         }

  63.         for (var i = 0; i < ¹Ø¼ü´ÊÁбí.length; i++) {
  64.             var ¹Ø¼ü´Ê = ¹Ø¼ü´ÊÁбí[i];

  65.             // ¾«È·Îı¾Æ¥Åä
  66.             var Îı¾¹ýÂË = ½Úµã¼¯ºÏ.text(¹Ø¼ü´Ê);
  67.             if (Îı¾¹ýÂË != '' && Îı¾¹ýÂË != null && Îı¾¹ýÂË.count() > 0) {
  68.                 var ½Úµã = Îı¾¹ýÂË.getNode(0);
  69.                 if (½Úµã != '' && ½Úµã != null) {
  70.                     return ½Úµã;
  71.                 }
  72.             }

  73.             // °üº¬Îı¾Æ¥Åä
  74.             var °üº¬¹ýÂË = ½Úµã¼¯ºÏ.textIncludes(¹Ø¼ü´Ê);
  75.             if (°üº¬¹ýÂË != '' && °üº¬¹ýÂË != null && °üº¬¹ýÂË.count() > 0) {
  76.                 var ½Úµã2 = °üº¬¹ýÂË.getNode(0);
  77.                 if (½Úµã2 != '' && ½Úµã2 != null) {
  78.                     return ½Úµã2;
  79.                 }
  80.             }
  81.         }

  82.         // descÊôÐÔ¶µµ×ËÑË÷£¨¾©¶«Ç©µ½°´Å¥µÄ¿Éµã»÷½Úµãdescº¬"Áì88¶¹¾©¶¹×î¸ß"µ«textΪ¿Õ£©
  83.         for (var j = 0; j < ¹Ø¼ü´ÊÁбí.length; j++) {
  84.             var ¹Ø¼ü´Ê2 = ¹Ø¼ü´ÊÁбí[j];
  85.             var ½Úµã = ²éÕÒÃèÊö½Úµã([¹Ø¼ü´Ê2]);
  86.             if (½Úµã) {
  87.                 return ½Úµã;
  88.             }
  89.         }
  90.     } catch (e) {
  91.         print.log("  ⚠ ²éÕÒÎÄ×Ö½Úµã³ö´í£º" + e.message);
  92.     }
  93.     return null;
  94. }

  95. /**
  96. * ²éÕÒÃèÊö½Úµã£¨Í¨¹ýdescÊôÐÔËÑË÷£©
  97. * ±éÀúËùÓпɵã»÷½Úµã£¬¼ì²édescÊÇ·ñ°üº¬¹Ø¼ü´Ê
  98. * @param {Array} ¹Ø¼ü´ÊÁбí - ¹Ø¼ü´ÊÊý×é
  99. * @return {Object} ÕÒµ½µÄ½Úµã¶ÔÏó»ònull
  100. */
  101. function ²éÕÒÃèÊö½Úµã(¹Ø¼ü´ÊÁбí) {
  102.     try {
  103.         var ½Úµã¼¯ºÏ = auto.nodeSearch(2000);
  104.         if (½Úµã¼¯ºÏ == '' || ½Úµã¼¯ºÏ == null) {
  105.             return null;
  106.         }

  107.         // ±éÀúËùÓнڵã¼ì²édesc
  108.         var ×ÜÊý = ½Úµã¼¯ºÏ.count();
  109.         for (var i = 0; i < ×ÜÊý; i++) {
  110.             var ½Úµã = ½Úµã¼¯ºÏ.getNode(i);
  111.             if (½Úµã == '' || ½Úµã == null) {
  112.                 continue;
  113.             }
  114.             try {
  115.                 var desc = "" + ½Úµã.getDesc();
  116.                 if (!desc || desc == "null" || desc.length == 0) {
  117.                     continue;
  118.                 }
  119.                 for (var j = 0; j < ¹Ø¼ü´ÊÁбí.length; j++) {
  120.                     var ¹Ø¼ü´Ê = ¹Ø¼ü´ÊÁбí[j];
  121.                     if (desc.indexOf(¹Ø¼ü´Ê) >= 0) {
  122.                         return ½Úµã;
  123.                     }
  124.                 }
  125.             } catch (e) {
  126.             }
  127.         }
  128.     } catch (e) {
  129.         print.log("  ⚠ ²éÕÒÃèÊö½Úµã³ö´í£º" + e.message);
  130.     }
  131.     return null;
  132. }

  133. /**
  134. * ²éÕÒdescÖÐͬʱ°üº¬¶à¸ö¹Ø¼ü´ÊµÄ½Úµã
  135. * ÀýÈç: ²éÕÒÃèÊö½Úµãº¬¶à´Ê(["Áì", "¶¹"]) »áÆ¥Åä desc="Áì88¶¹¾©¶¹×î¸ß"
  136. * @param {Array} ¹Ø¼ü´ÊÁбí - ÐèҪͬʱ°üº¬µÄ¹Ø¼ü´ÊÊý×é
  137. * @return {Object} ÕÒµ½µÄ½Úµã¶ÔÏó»ònull
  138. */
  139. function ²éÕÒÃèÊö½Úµãº¬¶à´Ê(¹Ø¼ü´ÊÁбí) {
  140.     try {
  141.         var ½Úµã¼¯ºÏ = auto.nodeSearch(2000);
  142.         if (½Úµã¼¯ºÏ == '' || ½Úµã¼¯ºÏ == null) {
  143.             return null;
  144.         }

  145.         var ×ÜÊý = ½Úµã¼¯ºÏ.count();
  146.         for (var i = 0; i < ×ÜÊý; i++) {
  147.             var ½Úµã = ½Úµã¼¯ºÏ.getNode(i);
  148.             if (½Úµã == '' || ½Úµã == null) {
  149.                 continue;
  150.             }
  151.             try {
  152.                 var desc = "" + ½Úµã.getDesc();
  153.                 if (!desc || desc == "null" || desc.length == 0) {
  154.                     continue;
  155.                 }
  156.                 // ¼ì²éÊÇ·ñͬʱ°üº¬ËùÓйؼü´Ê
  157.                 var È«²¿Æ¥Åä = true;
  158.                 for (var j = 0; j < ¹Ø¼ü´ÊÁбí.length; j++) {
  159.                     if (desc.indexOf(¹Ø¼ü´ÊÁбí[j]) < 0) {
  160.                         È«²¿Æ¥Åä = false;
  161.                         break;
  162.                     }
  163.                 }
  164.                 if (È«²¿Æ¥Åä) {
  165.                     print.log("  [desc×éºÏÆ¥Åä] desc=[" + desc + "]");
  166.                     return ½Úµã;
  167.                 }
  168.             } catch (e) {
  169.             }
  170.         }
  171.     } catch (e) {
  172.         print.log("  ⚠ ²éÕÒÃèÊö½Úµãº¬¶à´Ê³ö´í£º" + e.message);
  173.     }
  174.     return null;
  175. }

  176. /**
  177. * ¼ì²éÎÄ×ÖÊÇ·ñ´æÔÚ
  178. * @param {Array} ¹Ø¼ü´ÊÁбí - ¹Ø¼ü´ÊÊý×é
  179. * @return {boolean} ´æÔÚ·µ»Øtrue
  180. */
  181. function ¼ì²éÎÄ×Ö´æÔÚ(¹Ø¼ü´ÊÁбí) {
  182.     var ¹æÔò = ¹Ø¼ü´ÊÁбí.join("||");
  183.     return auto.findText(¹æÔò);
  184. }

  185. /**
  186. * °²È«µã»÷½Úµã - Èý¼¶½µ¼¶²ßÂÔ
  187. * ²ßÂÔ: 1)½Úµã¿Éµã»÷¡úÖ±½Óµã»÷ 2)¸¸/׿¸¸½Úµã¿Éµã»÷¡úµã»÷¸¸¼¶ 3)¶µµ×¡ú×ø±êµã»÷
  188. * @param {Object} ½Úµã - Òªµã»÷µÄ½Úµã¶ÔÏó
  189. * @return {boolean} µã»÷³É¹¦·µ»Øtrue
  190. */
  191. function °²È«µã»÷½Úµã(½Úµã) {
  192.     if (!½Úµã || ½Úµã == '' || ½Úµã == null) {
  193.         return false;
  194.     }

  195.     // µÚÒ»¼¶£º½Úµã±¾Éí¿Éµã»÷
  196.     try {
  197.         if (½Úµã.isClickable && ½Úµã.isClickable()) {
  198.             ½Úµã.click();
  199.             return true;
  200.         }
  201.     } catch (e) {
  202.     }

  203.     // µÚ¶þ¼¶£ºÏòÉϲéÕҿɵã»÷µÄ¸¸½Úµã»ò׿¸¸½Úµã
  204.     try {
  205.         var ¸¸½Úµã = ½Úµã.getParent();
  206.         if (¸¸½Úµã != '' && ¸¸½Úµã != null) {
  207.             if (¸¸½Úµã.isClickable && ¸¸½Úµã.isClickable()) {
  208.                 ¸¸½Úµã.click();
  209.                 return true;
  210.             }

  211.             var ׿¸¸½Úµã = ¸¸½Úµã.getParent();
  212.             if (׿¸¸½Úµã != '' && ׿¸¸½Úµã != null) {
  213.                 if (׿¸¸½Úµã.isClickable && ׿¸¸½Úµã.isClickable()) {
  214.                     ×游½Úµã.click();
  215.                     return true;
  216.                 }
  217.             }
  218.         }
  219.     } catch (e2) {
  220.     }

  221.     // µÚÈý¼¶£º¶µµ×·½°¸£¬Ê¹ÓÃ×ø±êµã»÷
  222.     try {
  223.         var ÖÐÐÄ = ½Úµã.getCenter();
  224.         var x = ÖÐÐÄ.x();
  225.         var y = ÖÐÐÄ.y();
  226.         auto.clickPoint(x, y);
  227.         return true;
  228.     } catch (e3) {
  229.         print.log("  ⚠ °²È«µã»÷È«²¿Ê§°Ü£º" + e3.message);
  230.         return false;
  231.     }
  232. }

  233. /**
  234. * ¹Ø±Õµ¯´° - ×Ô¶¯Ê¶±ð²¢¹Ø±Õ¸÷ÖÖµ¯´°¡¢¹ã¸æ¡¢½±ÀøÌáʾ
  235. * @return {boolean} ³É¹¦¹Ø±Õ·µ»Øtrue
  236. */
  237. function ¹Ø±Õµ¯´°() {
  238.     var µ¯´°¹Ø¼ü´Ê = [
  239.         "ÎÒÖªµÀÁË", "ÖªµÀÁË", "¹Ø±Õ", "Ôݲ»¿ªÆô", "ÒÔºóÔÙ˵",
  240.         "È¡Ïû", "Ôݲ»¸üÐÂ", "Ï´ÎÔÙ˵", "¾Ü¾ø", "²»ÔÊÐí", "Ìø¹ý",
  241.         "ÉÔºó", "È·¶¨", "²»ÁËлл", "²ÐÈܾ̾ø", "ÊÕÏÂ", "ºÃµÄ"
  242.     ];

  243.     var ¼ì²â½á¹û = auto.findText(µ¯´°¹Ø¼ü´Ê.join("||"));
  244.     if (!¼ì²â½á¹û) {
  245.         return false;
  246.     }

  247.     for (var i = 0; i < µ¯´°¹Ø¼ü´Ê.length; i++) {
  248.         var ¹Ø¼ü´Ê = µ¯´°¹Ø¼ü´Ê[i];
  249.         var ½Úµã = ²éÕÒÎÄ×Ö½Úµã([¹Ø¼ü´Ê]);
  250.         if (½Úµã) {
  251.             try {
  252.                 if (°²È«µã»÷½Úµã(½Úµã)) {
  253.                     print.log("  ✓ ¹Ø±Õµ¯´°£ºµã»÷¡¾" + ¹Ø¼ü´Ê + "¡¿");
  254.                     sleep.millisecond(ºÁÃë = config.²Ù×÷¼ä¸ôºÁÃë);
  255.                     return true;
  256.                 }
  257.             } catch (e) {
  258.             }
  259.         }
  260.     }

  261.     // ³¢ÊÔµã»÷ÓÒÉϽǹرհ´Å¥£¨Xͼ±ê£©
  262.     try {
  263.         var ½Úµã¼¯ºÏ = auto.nodeSearch(1000);
  264.         if (½Úµã¼¯ºÏ != '' && ½Úµã¼¯ºÏ != null) {
  265.             var ¿Éµã»÷ = ½Úµã¼¯ºÏ.clickable(true);
  266.             if (¿Éµã»÷ != '' && ¿Éµã»÷ != null) {
  267.                 for (var j = 0; j < ¿Éµã»÷.count(); j++) {
  268.                     var n = ¿Éµã»÷.getNode(j);
  269.                     if (n) {
  270.                         var desc = "" + n.getDesc();
  271.                         if (desc.indexOf("¹Ø±Õ") >= 0 || desc.indexOf("close") >= 0 ||
  272.                             desc.indexOf("Close") >= 0) {
  273.                             n.click();
  274.                             print.log("  ✓ µã»÷¹Ø±Õ°´Å¥£¨ÃèÊöÆ¥Å䣩");
  275.                             sleep.millisecond(ºÁÃë = config.²Ù×÷¼ä¸ôºÁÃë);
  276.                             return true;
  277.                         }
  278.                     }
  279.                 }
  280.             }
  281.         }
  282.     } catch (e) {
  283.     }

  284.     return false;
  285. }

  286. /**
  287. * µ÷ÊÔÊä³ö - Êä³öµ±Ç°Ò³Ãæ½ÚµãÕªÒª
  288. */
  289. function Êä³öÒ³ÃæÕªÒª() {
  290.     if (!config.µ÷ÊÔģʽ) {
  291.         return;
  292.     }
  293.     try {
  294.         var ½Úµã¼¯ºÏ = auto.nodeSearch(1000);
  295.         if (½Úµã¼¯ºÏ == '' || ½Úµã¼¯ºÏ == null) {
  296.             print.log("  [µ÷ÊÔ] ÎÞ½Úµã");
  297.             return;
  298.         }
  299.         var ×ÜÊý = ½Úµã¼¯ºÏ.count();
  300.         print.log("  [µ÷ÊÔ] Ò³Ãæ½Úµã×ÜÊý£º" + ×ÜÊý);

  301.         var Îı¾ÊÓͼ = ½Úµã¼¯ºÏ.className("android.widget.TextView");
  302.         if (Îı¾ÊÓͼ != '' && Îı¾ÊÓͼ != null) {
  303.             var Îı¾Êý = Math.min(15, Îı¾ÊÓͼ.count());
  304.             print.log("  [µ÷ÊÔ] ǰ" + Îı¾Êý + "¸öÎı¾½Úµã£º");
  305.             for (var i = 0; i < Îı¾Êý; i++) {
  306.                 var ½Úµã = Îı¾ÊÓͼ.getNode(i);
  307.                 if (½Úµã) {
  308.                     var Îı¾ = "";
  309.                     try { Îı¾ = "" + ½Úµã.getText(); } catch (e) {}
  310.                     var ÃèÊö = "";
  311.                     try { ÃèÊö = "" + ½Úµã.getDesc(); } catch (e) {}
  312.                     print.log("    " + (i + 1) + ". text=" + Îı¾ + " desc=" + ÃèÊö);
  313.                 }
  314.             }
  315.         }
  316.     } catch (e) {
  317.         print.log("  [µ÷ÊÔ] Êä³öÒ³ÃæÕªÒª³ö´í£º" + e.message);
  318.     }
  319. }

  320. /**
  321. * µÈ´ýÒ³Ãæ¼ÓÔØ²¢¼ì²âÌØÕ÷ÎÄ×Ö
  322. * @param {Array} ÌØÕ÷ÎÄ×ÖÁбí - Ò³ÃæÌØÕ÷ÎÄ×Ö
  323. * @param {number} ³¬Ê±Ãë - ³¬Ê±ÃëÊý
  324. * @return {boolean} ¼ì²âµ½ÌØÕ÷·µ»Øtrue
  325. */
  326. function µÈ´ýÒ³Ãæ(ÌØÕ÷ÎÄ×ÖÁбí, ³¬Ê±Ãë) {
  327.     var ³¬Ê±ºÁÃë = ³¬Ê±Ãë * 1000;
  328.     var ¿ªÊ¼Ê±¼ä = Date.now();

  329.     while (Date.now() - ¿ªÊ¼Ê±¼ä < ³¬Ê±ºÁÃë) {
  330.         if (¼ì²éÎÄ×Ö´æÔÚ(ÌØÕ÷ÎÄ×ÖÁбí)) {
  331.             return true;
  332.         }
  333.         sleep.millisecond(ºÁÃë = 500);
  334.     }

  335.     if (config.µ÷ÊÔģʽ) {
  336.         print.log("  [µ÷ÊÔ] µÈ´ýÒ³Ãæ³¬Ê±£¬Î´¼ì²âµ½£º" + ÌØÕ÷ÎÄ×ÖÁбí.join(", "));
  337.         Êä³öÒ³ÃæÕªÒª();
  338.     }
  339.     return false;
  340. }

  341. // ============================================================
  342. // ËÄ¡¢ºËÐŦÄܺ¯Êý
  343. // ============================================================

  344. /**
  345. * Æô¶¯¾©¶«APP
  346. * @return {boolean} Æô¶¯³É¹¦·µ»Øtrue
  347. */
  348. function Æô¶¯¾©¶«() {
  349.     print.log("\n¡¾Æô¶¯¡¿ÕýÔÚÆô¶¯¾©¶«...");

  350.     for (var i = 0; i < config.×î´óÖØÊÔ´ÎÊý; i++) {
  351.         try {
  352.             app.openApp(config.APP°üÃû);
  353.             sleep.second(Ãë = config.Ò³Ãæ¼ÓÔØµÈ´ýÃë);

  354.             ¹Ø±Õµ¯´°();

  355.             // ÑéÖ¤¾©¶«ÊÇ·ñÕý³£Æô¶¯£¨Ê×Ò³ÌØÕ÷ÎÄ×Ö£©
  356.             if (¼ì²éÎÄ×Ö´æÔÚ(["Ê×Ò³", "·ÖÀà", "·¢ÏÖ", "¹ºÎï³µ", "ÎÒµÄ"])) {
  357.                 print.log("✓ ¾©¶«Æô¶¯³É¹¦");
  358.                 return true;
  359.             }

  360.             // ¶µµ×ÑéÖ¤£º¼ì²éÊÇ·ñÓÐËÑË÷¿ò
  361.             if (auto.findText("ËÑË÷")) {
  362.                 print.log("✓ ¾©¶«Æô¶¯³É¹¦£¨ËÑË÷¿ò¼ì²â£©");
  363.                 return true;
  364.             }
  365.         } catch (e) {
  366.             print.log("⚠ Æô¶¯Ê§°Ü£¨µÚ" + (i + 1) + "´Î£©£º" + e.message);
  367.             sleep.second(Ãë = 3);
  368.         }
  369.     }

  370.     print.log("✗ ¾©¶«Æô¶¯Ê§°Ü");
  371.     return false;
  372. }

  373. /**
  374. * ½øÈ롸Îҵġ¹Ò³Ãæ
  375. * @return {boolean} ³É¹¦½øÈë·µ»Øtrue
  376. */
  377. function ½øÈëÎÒµÄÒ³Ãæ() {
  378.     print.log("\n¡¾µ¼º½¡¿½øÈ롸Îҵġ¹Ò³Ãæ...");

  379.     // ·½·¨1£ºÍ¨¹ýÎÄ×Ö²éÕÒ¡¸Îҵġ¹±êÇ©
  380.     var ÎҵĽڵã = ²éÕÒÎÄ×Ö½Úµã(["ÎÒµÄ"]);
  381.     if (ÎҵĽڵã) {
  382.         if (°²È«µã»÷½Úµã(ÎҵĽڵã)) {
  383.             print.log("  ✓ Òѵã»÷¡¾Îҵġ¿");
  384.             sleep.second(Ãë = 2);
  385.             ¹Ø±Õµ¯´°();

  386.             // ÑéÖ¤ÊÇ·ñ½øÈëÎÒµÄÒ³Ãæ
  387.             if (µÈ´ýÒ³Ãæ(["ÎҵĶ©µ¥", "ÎÒµÄÇ®°ü", "Õ˺ŹÜÀí", "¾©¶¹", "»áÔ±"], 3)) {
  388.                 print.log("✓ ÒѽøÈ롸Îҵġ¹Ò³Ãæ");
  389.                 return true;
  390.             }
  391.         }
  392.     }

  393.     // ·½·¨2£ºµ×²¿µ¼º½À¸×ø±ê¶µµ×£¨"ÎÒµÄ"ͨ³£Ôڵײ¿×îÓҲࣩ
  394.     print.log("  ⚠ ÎÄ×Ö²éÕÒʧ°Ü£¬³¢ÊÔ×ø±êµã»÷");
  395.     auto.clickPercent(0.9, 0.97);
  396.     sleep.second(Ãë = 2);
  397.     ¹Ø±Õµ¯´°();

  398.     if (µÈ´ýÒ³Ãæ(["ÎҵĶ©µ¥", "ÎÒµÄÇ®°ü", "¾©¶¹", "»áÔ±"], 3)) {
  399.         print.log("✓ ÒѽøÈ롸Îҵġ¹Ò³Ãæ£¨×ø±êµã»÷£©");
  400.         return true;
  401.     }

  402.     print.log("✗ ÎÞ·¨½øÈ롸Îҵġ¹Ò³Ãæ");
  403.     Êä³öÒ³ÃæÕªÒª();
  404.     return false;
  405. }

  406. /**
  407. * Êä³öÒ³ÃæÍêÕû½ÚµãÕªÒª£¨µ÷ÊÔÓã©
  408. * ÎÞÂÛµ÷ÊÔģʽÊÇ·ñ¿ªÆô¶¼Ç¿ÖÆÊä³ö£¬ÓÃÓÚÅŲé½ÚµãÎÊÌâ
  409. */
  410. function Êä³öÍêÕûÒ³ÃæÕªÒª(±êÇ©) {
  411.     try {
  412.         var ½Úµã¼¯ºÏ = auto.nodeSearch(2000);
  413.         if (½Úµã¼¯ºÏ == '' || ½Úµã¼¯ºÏ == null) {
  414.             print.log("  ¡¾Ò³ÃæÕªÒª-" + ±êÇ© + "¡¿ÎÞ½Úµã");
  415.             return;
  416.         }
  417.         var ×ÜÊý = ½Úµã¼¯ºÏ.count();
  418.         print.log("  ¡¾Ò³ÃæÕªÒª-" + ±êÇ© + "¡¿½Úµã×ÜÊý£º" + ×ÜÊý);

  419.         // Êä³öËùÓÐÎı¾½Úµã
  420.         var Îı¾ÊÓͼ = ½Úµã¼¯ºÏ.className("android.widget.TextView");
  421.         if (Îı¾ÊÓͼ != '' && Îı¾ÊÓͼ != null) {
  422.             var Îı¾Êý = Îı¾ÊÓͼ.count();
  423.             print.log("  ¡¾Ò³ÃæÕªÒª-" + ±êÇ© + "¡¿Îı¾½ÚµãÊý£º" + Îı¾Êý);
  424.             var Êä³öÊý = Math.min(30, Îı¾Êý);
  425.             for (var i = 0; i < Êä³öÊý; i++) {
  426.                 var ½Úµã = Îı¾ÊÓͼ.getNode(i);
  427.                 if (½Úµã) {
  428.                     var Îı¾ = "";
  429.                     try { Îı¾ = "" + ½Úµã.getText(); } catch (e) {}
  430.                     var ÃèÊö = "";
  431.                     try { ÃèÊö = "" + ½Úµã.getDesc(); } catch (e) {}
  432.                     var ¿Éµã»÷ = "";
  433.                     try { ¿Éµã»÷ = ½Úµã.isClickable() ? "¿Éµã»÷" : "²»¿Éµã»÷"; } catch (e) {}
  434.                     print.log("    " + (i + 1) + ". text=[" + Îı¾ + "] desc=[" + ÃèÊö + "] " + ¿Éµã»÷);
  435.                 }
  436.             }
  437.         }

  438.         // Êä³öËùÓпɵã»÷½Úµã
  439.         var ¿Éµã»÷½Úµã = ½Úµã¼¯ºÏ.clickable(true);
  440.         if (¿Éµã»÷½Úµã != '' && ¿Éµã»÷½Úµã != null) {
  441.             var ¿Éµã»÷Êý = ¿Éµã»÷½Úµã.count();
  442.             print.log("  ¡¾Ò³ÃæÕªÒª-" + ±êÇ© + "¡¿¿Éµã»÷½ÚµãÊý£º" + ¿Éµã»÷Êý);
  443.             var Êä³öÊý2 = Math.min(20, ¿Éµã»÷Êý);
  444.             for (var j = 0; j < Êä³öÊý2; j++) {
  445.                 var cn = ¿Éµã»÷½Úµã.getNode(j);
  446.                 if (cn) {
  447.                     var cÎı¾ = "";
  448.                     try { cÎı¾ = "" + cn.getText(); } catch (e) {}
  449.                     var cÃèÊö = "";
  450.                     try { cÃèÊö = "" + cn.getDesc(); } catch (e) {}
  451.                     var cID = "";
  452.                     try { cID = "" + cn.getID(); } catch (e) {}
  453.                     print.log("    µã»÷" + (j + 1) + ". text=[" + cÎı¾ + "] desc=[" + cÃèÊö + "] id=[" + cID + "]");
  454.                 }
  455.             }
  456.         }
  457.     } catch (e) {
  458.         print.log("  ¡¾Ò³ÃæÕªÒª¡¿Êä³ö³ö´í£º" + e.message);
  459.     }
  460. }

  461. /**
  462. * ÔÚÊ×Ò³²éÕÒÇ©µ½Èë¿Ú
  463. * ¾©¶«Ç©µ½Èë¿Úͨ³£ÔÚÊ×Ò³¶¥²¿"Á쾩¶¹"ͼ±ê
  464. * @return {boolean} ³É¹¦½øÈëÇ©µ½Ò³Ãæ·µ»Øtrue
  465. */
  466. function Ê×Ò³²éÕÒÇ©µ½() {
  467.     print.log("\n¡¾Ç©µ½¡¿ÔÚÊ×Ò³²éÕÒÇ©µ½Èë¿Ú...");
  468.     ¹Ø±Õµ¯´°();
  469.     sleep.millisecond(ºÁÃë = 500);

  470.     // µ÷ÊÔģʽÏÂÊä³öÊ×Ò³½ÚµãÕªÒª
  471.     if (config.µ÷ÊÔģʽ == 'debug') {
  472.         print.log("\n  >>> Ê×Ò³½ÚµãÕªÒª <<<");
  473.         Êä³öÍêÕûÒ³ÃæÕªÒª("Ê×Ò³");
  474.     }

  475.     for (var i = 0; i < config.Ê×ҳǩµ½Èë¿Ú.length; i++) {
  476.         var ¹Ø¼ü´Ê = config.Ê×ҳǩµ½Èë¿Ú[i];
  477.         var ½Úµã = ²éÕÒÎÄ×Ö½Úµã([¹Ø¼ü´Ê]);
  478.         if (½Úµã) {
  479.             print.log("  ✓ Ê×Ò³ÕÒµ½Ç©µ½Èë¿Ú£º¡¾" + ¹Ø¼ü´Ê + "¡¿");
  480.             if (°²È«µã»÷½Úµã(½Úµã)) {
  481.                 sleep.second(Ãë = config.Ò³Ãæ¼ÓÔØµÈ´ýÃë);
  482.                 ¹Ø±Õµ¯´°();

  483.                 // ÑéÖ¤ÊÇ·ñ½øÈëÇ©µ½Ò³Ãæ
  484.                 if (¼ì²éÎÄ×Ö´æÔÚ(["Ç©µ½", "Á¢¼´Ç©µ½", "Ç©µ½³É¹¦", "ÒÑÇ©µ½", "Á¬Ç©", "¾©¶¹", "ÁìÈ¡"])) {
  485.                     print.log("✓ ÒѽøÈëÇ©µ½Ò³Ã棨Ê×Ò³Èë¿Ú£©");
  486.                     return true;
  487.                 }

  488.                 sleep.second(Ãë = 2);
  489.                 if (¼ì²éÎÄ×Ö´æÔÚ(["Ç©µ½", "Á¢¼´Ç©µ½", "ÒÑÇ©µ½", "Á¬Ç©"])) {
  490.                     print.log("✓ ÒѽøÈëÇ©µ½Ò³Ã棨ÑÓ³Ù¼ì²â£©");
  491.                     return true;
  492.                 }

  493.                 // ¿ÉÄܵã»÷ºó½øÈëÁËÆäËûÒ³Ãæ£¬·µ»ØÊ×Ò³ÖØÊÔ
  494.                 print.log("  ⚠ µã»÷ºóδ½øÈëÇ©µ½Ò³Ã棬·µ»ØÖØÊÔ");
  495.                 auto.back();
  496.                 sleep.second(Ãë = 2);
  497.             }
  498.         }
  499.     }

  500.     // Ê×Ò³¶¥²¿¿ÉÄÜÓÐÇ©µ½Í¼±êµ«Ã»ÓÐÎÄ×Ö£¬³¢ÊÔÏ»¬Ò»µãÕÒ
  501.     print.log("  Ê×Ò³¶¥²¿Î´ÕÒµ½£¬Ï»¬²éÕÒ...");
  502.     auto.swipPercent_v2(0.5, 0.3, 0.5, 0.6, 300, 100);
  503.     sleep.second(Ãë = 1);

  504.     for (var j = 0; j < config.Ê×ҳǩµ½Èë¿Ú.length; j++) {
  505.         var ¹Ø¼ü´Ê2 = config.Ê×ҳǩµ½Èë¿Ú[j];
  506.         var ½Úµã2 = ²éÕÒÎÄ×Ö½Úµã([¹Ø¼ü´Ê2]);
  507.         if (½Úµã2) {
  508.             print.log("  ✓ Ï»¬ºóÕÒµ½Ç©µ½Èë¿Ú£º¡¾" + ¹Ø¼ü´Ê2 + "¡¿");
  509.             if (°²È«µã»÷½Úµã(½Úµã2)) {
  510.                 sleep.second(Ãë = config.Ò³Ãæ¼ÓÔØµÈ´ýÃë);
  511.                 ¹Ø±Õµ¯´°();
  512.                 if (¼ì²éÎÄ×Ö´æÔÚ(["Ç©µ½", "Á¢¼´Ç©µ½", "ÒÑÇ©µ½", "Á¬Ç©", "¾©¶¹"])) {
  513.                     print.log("✓ ÒѽøÈëÇ©µ½Ò³Ã棨Ï»¬ºó£©");
  514.                     return true;
  515.                 }
  516.             }
  517.         }
  518.     }

  519.     return false;
  520. }

  521. /**
  522. * ÔÚ¡¸Îҵġ¹Ò³Ãæ²éÕÒÇ©µ½Èë¿Ú
  523. * @return {boolean} ³É¹¦½øÈëÇ©µ½Ò³Ãæ·µ»Øtrue
  524. */
  525. function ÎÒµÄÒ³Ãæ²éÕÒÇ©µ½() {
  526.     print.log("\n¡¾Ç©µ½¡¿ÔÚ¡¸Îҵġ¹Ò³Ãæ²éÕÒÇ©µ½Èë¿Ú...");

  527.     if (config.µ÷ÊÔģʽ == 'debug') {
  528.         print.log("\n  >>> ÎÒµÄÒ³Ãæ½ÚµãÕªÒª <<<");
  529.         Êä³öÍêÕûÒ³ÃæÕªÒª("ÎÒµÄÒ³Ãæ");
  530.     }

  531.     for (var ³¢ÊÔ´ÎÊý = 0; ³¢ÊÔ´ÎÊý < config.×î´óÖØÊÔ´ÎÊý; ³¢ÊÔ´ÎÊý++) {
  532.         print.log("  µÚ" + (³¢ÊÔ´ÎÊý + 1) + "´ÎÔÚ¡¸Îҵġ¹Ò³Ãæ²éÕÒ...");

  533.         ¹Ø±Õµ¯´°();
  534.         sleep.millisecond(ºÁÃë = 500);

  535.         // ·½·¨1£º±éÀú¹Ø¼ü´ÊÁбí²éÕÒ£¨text + desc£©
  536.         for (var i = 0; i < config.ÎÒµÄҳǩµ½Èë¿Ú.length; i++) {
  537.             var ¹Ø¼ü´Ê = config.ÎÒµÄҳǩµ½Èë¿Ú[i];
  538.             var ½Úµã = ²éÕÒÎÄ×Ö½Úµã([¹Ø¼ü´Ê]);
  539.             if (½Úµã) {
  540.                 print.log("  ✓ ¡¸Îҵġ¹Ò³ÃæÕÒµ½Ç©µ½Èë¿Ú£º¡¾" + ¹Ø¼ü´Ê + "¡¿");
  541.                 if (°²È«µã»÷½Úµã(½Úµã)) {
  542.                     sleep.second(Ãë = config.Ò³Ãæ¼ÓÔØµÈ´ýÃë);
  543.                     ¹Ø±Õµ¯´°();

  544.                     if (¼ì²éÎÄ×Ö´æÔÚ(["Ç©µ½", "Á¢¼´Ç©µ½", "Ç©µ½³É¹¦", "ÒÑÇ©µ½", "Á¬Ç©", "¾©¶¹"])) {
  545.                         print.log("✓ ÒѽøÈëÇ©µ½Ò³Ã棨ÎÒµÄÒ³Èë¿Ú£©");
  546.                         return true;
  547.                     }

  548.                     sleep.second(Ãë = 2);
  549.                     if (¼ì²éÎÄ×Ö´æÔÚ(["Ç©µ½", "Á¢¼´Ç©µ½", "ÒÑÇ©µ½", "Á¬Ç©"])) {
  550.                         print.log("✓ ÒѽøÈëÇ©µ½Ò³Ã棨ÑÓ³Ù¼ì²â£©");
  551.                         return true;
  552.                     }
  553.                 }
  554.             }
  555.         }

  556.         // ·½·¨2£ºdesc×éºÏËÑË÷"Áì"+"¶¹"£¨½â¾ö"Áì88¶¹"Êý×ÖÿÌì±ä»¯µÄÎÊÌ⣩
  557.         // ¾©¶«Ç©µ½°´Å¥desc¸ñʽÈç"Áì88¶¹¾©¶¹×î¸ß"£¬Êý×Ö»á±äµ«"Áì"ºÍ"¶¹"²»±ä
  558.         if (³¢ÊÔ´ÎÊý == 0) {
  559.             print.log("  ¹Ø¼ü´ÊδƥÅ䣬³¢ÊÔdesc×éºÏËÑË÷¡¸Á졹+¡¸¶¹¡¹...");
  560.             var ¶¹½Úµã = ²éÕÒÃèÊö½Úµãº¬¶à´Ê(["Áì", "¶¹"]);
  561.             if (¶¹½Úµã) {
  562.                 print.log("  ✓ desc×éºÏËÑË÷ÕÒµ½Ç©µ½°´Å¥");
  563.                 if (°²È«µã»÷½Úµã(¶¹½Úµã)) {
  564.                     sleep.second(Ãë = config.Ò³Ãæ¼ÓÔØµÈ´ýÃë);
  565.                     ¹Ø±Õµ¯´°();

  566.                     if (¼ì²éÎÄ×Ö´æÔÚ(["Ç©µ½", "Á¢¼´Ç©µ½", "Ç©µ½³É¹¦", "ÒÑÇ©µ½", "Á¬Ç©", "¾©¶¹"])) {
  567.                         print.log("✓ ÒѽøÈëÇ©µ½Ò³Ã棨desc×éºÏËÑË÷£©");
  568.                         return true;
  569.                     }
  570.                 }
  571.             }
  572.         }

  573.         // Ï»¬²éÕÒ
  574.         if (³¢ÊÔ´ÎÊý < config.×î´óÖØÊÔ´ÎÊý - 1) {
  575.             print.log("  Î´ÕÒµ½Ç©µ½Èë¿Ú£¬Ï»¬²éÕÒ...");
  576.             auto.swipPercent_v2(0.5, 0.7, 0.5, 0.3, 400, 100);
  577.             sleep.second(Ãë = 1);
  578.         }
  579.     }

  580.     return false;
  581. }

  582. /**
  583. * ²éÕÒ²¢µã»÷Ç©µ½Èë¿Ú£¨Ö÷Èë¿Úº¯Êý£©
  584. * ²éÕÒ˳Ðò: Ê×Ò³ ¡ú ÎÒµÄÒ³Ãæ ¡ú ËÑË÷¶µµ×
  585. * @return {boolean} ³É¹¦½øÈëÇ©µ½Ò³Ãæ·µ»Øtrue
  586. */
  587. function ½øÈëÇ©µ½Ò³Ãæ() {
  588.     print.log("\n¡¾Ç©µ½¡¿¿ªÊ¼²éÕÒÇ©µ½Èë¿Ú...");
  589.     auto.refresh();

  590.     // ·¾¶1£ºÔÚÊ×Ò³Ö±½Ó²éÕÒÇ©µ½Èë¿Ú£¨¾©¶«Ç©µ½Èë¿ÚÖ÷ÒªÔÚÊ×Ò³¶¥²¿"Á쾩¶¹"£©
  591.     print.log("\n  >> ·¾¶1£ºÊ×Ò³²éÕÒ");
  592.     if (Ê×Ò³²éÕÒÇ©µ½()) {
  593.         return true;
  594.     }

  595.     // ·¾¶2£º½øÈ롸Îҵġ¹Ò³Ãæ²éÕÒ
  596.     print.log("\n  >> ·¾¶2£º½øÈ롸Îҵġ¹Ò³Ãæ²éÕÒ");
  597.     if (½øÈëÎÒµÄÒ³Ãæ()) {
  598.         if (ÎÒµÄÒ³Ãæ²éÕÒÇ©µ½()) {
  599.             return true;
  600.         }
  601.         // ûÕÒµ½£¬·µ»ØÊ×Ò³
  602.         auto.back();
  603.         sleep.second(Ãë = 2);
  604.     }

  605.     // ·¾¶3£ºÍ¨¹ýËÑË÷½øÈëÇ©µ½Ò³Ãæ
  606.     print.log("\n  >> ·¾¶3£ºËÑË÷½øÈëÇ©µ½");
  607.     »Øµ½Ê×Ò³();

  608.     var ËÑË÷½Úµã = ²éÕÒÎÄ×Ö½Úµã(["ËÑË÷", "ËÑË÷ÉÌÆ·"]);
  609.     if (ËÑË÷½Úµã) {
  610.         °²È«µã»÷½Úµã(ËÑË÷½Úµã);
  611.         sleep.second(Ãë = 2);

  612.         try {
  613.             input.sendString("¾©¶«Ç©µ½Á쾩¶¹");
  614.         } catch (e) {
  615.             print.log("  ⚠ ÊäÈëʧ°Ü£º" + e.message);
  616.         }
  617.         sleep.second(Ãë = 2);

  618.         // µã»÷ËÑË÷°´Å¥
  619.         auto.clickPercent(0.95, 0.05);
  620.         sleep.second(Ãë = 3);

  621.         if (¼ì²éÎÄ×Ö´æÔÚ(["Ç©µ½", "Á쾩¶¹", "Ç©µ½ÖÐÐÄ"])) {
  622.             var Ç©µ½Èë¿Ú = ²éÕÒÎÄ×Ö½Úµã(["Ç©µ½", "Á쾩¶¹", "Ç©µ½ÖÐÐÄ"]);
  623.             if (Ç©µ½Èë¿Ú) {
  624.                 °²È«µã»÷½Úµã(Ç©µ½Èë¿Ú);
  625.                 sleep.second(Ãë = config.Ò³Ãæ¼ÓÔØµÈ´ýÃë);
  626.                 if (¼ì²éÎÄ×Ö´æÔÚ(["Ç©µ½", "Á¢¼´Ç©µ½", "ÒÑÇ©µ½"])) {
  627.                     print.log("✓ ͨ¹ýËÑË÷½øÈëÇ©µ½Ò³Ãæ");
  628.                     return true;
  629.                 }
  630.             }
  631.         }
  632.     }

  633.     print.log("✗ ËùÓз¾¶¾ùÎÞ·¨ÕÒµ½Ç©µ½Èë¿Ú");
  634.     print.log("\n  >>> ×îÖÕÒ³Ãæ½ÚµãÕªÒª <<<");
  635.     Êä³öÍêÕûÒ³ÃæÕªÒª("×îÖÕÒ³Ãæ");
  636.     return false;
  637. }

  638. /**
  639. * Ö´ÐÐÇ©µ½²Ù×÷
  640. * ÔÚÇ©µ½Ò³ÃæÖвéÕÒ"Ç©µ½"°´Å¥²¢µã»÷
  641. * @return {number} 0=Ç©µ½³É¹¦, 1=½ñÈÕÒÑÇ©µ½, 2=Ç©µ½Ê§°Ü
  642. */
  643. function Ö´ÐÐÇ©µ½() {
  644.     print.log("\n¡¾Ç©µ½¡¿Ö´ÐÐÇ©µ½²Ù×÷...");
  645.     ¹Ø±Õµ¯´°();
  646.     sleep.millisecond(ºÁÃë = 500);

  647.     // ¼ì²éÊÇ·ñÒѾ­Ç©µ½¹ý
  648.     if (¼ì²éÎÄ×Ö´æÔÚ(["ÒÑÇ©µ½", "Ã÷ÌìÔÙÀ´", "½ñÈÕÒÑÇ©µ½", "ÒÑÁ¬ÐøÇ©µ½"])) {
  649.         // Ðè񻂿·Ö¡¸ÒÑÇ©µ½¡¹°´Å¥ºÍ¡¸ÒÑÇ©µ½¡¹×´Ì¬ÎÄ×Ö
  650.         // Èç¹ûÒ³ÃæÓС¸ÒÑÇ©µ½¡¹µ«Ã»ÓС¸Á¢¼´Ç©µ½¡¹/¡¸Ç©µ½¡¹°´Å¥£¬ËµÃ÷½ñÌìÒÑÇ©¹ý
  651.         if (!¼ì²éÎÄ×Ö´æÔÚ(["Á¢¼´Ç©µ½", "Ç©µ½"]) && ¼ì²éÎÄ×Ö´æÔÚ(["ÒÑÇ©µ½", "½ñÈÕÒÑÇ©µ½"])) {
  652.             print.log("  ℹ ½ñÈÕÒÑÇ©µ½£¬ÎÞÐèÖØ¸´²Ù×÷");
  653.             return 1;
  654.         }
  655.     }

  656.     // ²éÕÒ²¢µã»÷"Ç©µ½"°´Å¥
  657.     var Ç©µ½°´Å¥¹Ø¼ü´Ê = ["Á¢¼´Ç©µ½", "Ç©µ½", "µã»÷Ç©µ½", "Ç©µ½ÁìÈ¡"];
  658.     var Ç©µ½°´Å¥ = ²éÕÒÎÄ×Ö½Úµã(Ç©µ½°´Å¥¹Ø¼ü´Ê);

  659.     if (Ç©µ½°´Å¥) {
  660.         print.log("  ✓ ÕÒµ½Ç©µ½°´Å¥");
  661.         if (°²È«µã»÷½Úµã(Ç©µ½°´Å¥)) {
  662.             print.log("  ✓ Òѵã»÷Ç©µ½°´Å¥");
  663.             sleep.second(Ãë = 2);

  664.             // ¹Ø±ÕÇ©µ½ºóµ¯³öµÄ½±Àøµ¯´°
  665.             ¹Ø±Õµ¯´°();
  666.             sleep.millisecond(ºÁÃë = 500);

  667.             // Ñé֤ǩµ½ÊÇ·ñ³É¹¦
  668.             if (¼ì²éÎÄ×Ö´æÔÚ(["Ç©µ½³É¹¦", "Ç©µ½+", "»ñµÃ", "ÁìÈ¡³É¹¦", "ÒÑÇ©µ½"])) {
  669.                 print.log("  &#127881; Ç©µ½³É¹¦£¡");
  670.                 return 0;
  671.             }

  672.             // Ôٵȴýһϼì²â
  673.             sleep.second(Ãë = 2);
  674.             ¹Ø±Õµ¯´°();

  675.             if (¼ì²éÎÄ×Ö´æÔÚ(["Ç©µ½³É¹¦", "ÒÑÇ©µ½", "Ã÷Ìì¼û", "Á¬Ç©"])) {
  676.                 print.log("  &#127881; Ç©µ½³É¹¦£¡£¨ÑÓ³Ù¼ì²â£©");
  677.                 return 0;
  678.             }

  679.             // ¼´Ê¹Ã»ÓÐÃ÷È·³É¹¦Ìáʾ£¬Èç¹ûûÓÐ"Á¢¼´Ç©µ½"°´Å¥ÁËÒ²Ëã³É¹¦
  680.             if (!¼ì²éÎÄ×Ö´æÔÚ(["Á¢¼´Ç©µ½"])) {
  681.                 print.log("  &#127881; Ç©µ½³É¹¦£¨°´Å¥ÏûʧÑéÖ¤£©");
  682.                 return 0;
  683.             }
  684.         }
  685.     } else {
  686.         print.log("  ⚠ δÕÒµ½Ç©µ½°´Å¥");
  687.         Êä³öÒ³ÃæÕªÒª();
  688.     }

  689.     // ¶þ´Î³¢ÊÔ£ºÏ»¬²éÕÒÇ©µ½°´Å¥
  690.     print.log("  Ï»¬²éÕÒÇ©µ½°´Å¥...");
  691.     auto.swipPercent_v2(0.5, 0.6, 0.5, 0.3, 300, 100);
  692.     sleep.second(Ãë = 1);
  693.     ¹Ø±Õµ¯´°();

  694.     var Ç©µ½°´Å¥2 = ²éÕÒÎÄ×Ö½Úµã(Ç©µ½°´Å¥¹Ø¼ü´Ê);
  695.     if (Ç©µ½°´Å¥2) {
  696.         print.log("  ✓ Ï»¬ºóÕÒµ½Ç©µ½°´Å¥");
  697.         if (°²È«µã»÷½Úµã(Ç©µ½°´Å¥2)) {
  698.             sleep.second(Ãë = 2);
  699.             ¹Ø±Õµ¯´°();
  700.             if (¼ì²éÎÄ×Ö´æÔÚ(["Ç©µ½³É¹¦", "ÒÑÇ©µ½", "Á¬Ç©"])) {
  701.                 print.log("  &#127881; Ç©µ½³É¹¦£¡£¨¶þ´Î³¢ÊÔ£©");
  702.                 return 0;
  703.             }
  704.         }
  705.     }

  706.     print.log("  ✗ Ç©µ½Ê§°Ü");
  707.     return 2;
  708. }

  709. /**
  710. * Áìȡǩµ½½±Àø
  711. * Ç©µ½ºó¿ÉÄÜÓжîÍâ½±ÀøÐèÒªÊÖ¶¯ÁìÈ¡
  712. * @return {boolean} ÁìÈ¡³É¹¦·µ»Øtrue
  713. */
  714. function ÁìÈ¡½±Àø() {
  715.     print.log("\n¡¾½±Àø¡¿¼ì²é²¢ÁìÈ¡¶îÍâ½±Àø...");
  716.     sleep.second(Ãë = 1);

  717.     var ÁìÈ¡¹Ø¼ü´Ê = ["ÁìÈ¡", "Á¢¼´ÁìÈ¡", "ÊÕÏÂ", "Áì¶¹", "È¥ÁìÈ¡", "µã»÷ÁìÈ¡"];
  718.     var ÁìÈ¡½Úµã = ²éÕÒÎÄ×Ö½Úµã(ÁìÈ¡¹Ø¼ü´Ê);

  719.     if (ÁìÈ¡½Úµã) {
  720.         print.log("  ✓ ÕÒµ½½±ÀøÁìÈ¡Èë¿Ú");
  721.         if (°²È«µã»÷½Úµã(ÁìÈ¡½Úµã)) {
  722.             sleep.second(Ãë = 2);
  723.             ¹Ø±Õµ¯´°();
  724.             print.log("  &#127873; ÒÑÁìÈ¡½±Àø");
  725.             return true;
  726.         }
  727.     }

  728.     print.log("  ℹ ÔÝÎÞ¶îÍâ½±Àø¿ÉÁìÈ¡");
  729.     return false;
  730. }

  731. /**
  732. * »Øµ½¾©¶«Ê×Ò³
  733. * @return {boolean} ³É¹¦·µ»ØÊ×Ò³·µ»Øtrue
  734. */
  735. function »Øµ½Ê×Ò³() {
  736.     print.log("\n¡¾·µ»Ø¡¿»Øµ½¾©¶«Ê×Ò³...");

  737.     for (var i = 0; i < 3; i++) {
  738.         auto.back();
  739.         sleep.second(Ãë = 1);

  740.         if (¼ì²éÎÄ×Ö´æÔÚ(["Ê×Ò³", "·ÖÀà", "¹ºÎï³µ"])) {
  741.             print.log("✓ Òѻص½Ê×Ò³");
  742.             return true;
  743.         }
  744.     }

  745.     // ¶µµ×£º»Øµ½×ÀÃæÖØÐ´ò¿ª
  746.     print.log("  ·µ»ØÊ§°Ü£¬ÖØÐ´ò¿ª¾©¶«...");
  747.     auto.home();
  748.     sleep.second(Ãë = 2);
  749.     if (Æô¶¯¾©¶«()) {
  750.         return true;
  751.     }
  752.     return false;
  753. }

  754. /**
  755. * ÖØÆô¾©¶«APP
  756. * @return {boolean} ÖØÆô³É¹¦·µ»Øtrue
  757. */
  758. function ÖØÆô¾©¶«() {
  759.     print.log("✗ ÐèÒªÖØÆô¾©¶«...");
  760.     try {
  761.         app.resetApp(config.APP°üÃû);
  762.         sleep.second(Ãë = 8);
  763.         ¹Ø±Õµ¯´°();
  764.         print.log("✓ ¾©¶«ÖØÆô³É¹¦");
  765.         return true;
  766.     } catch (e) {
  767.         print.log("✗ ÖØÆôʧ°Ü£º" + e.message);
  768.         return false;
  769.     }
  770. }

  771. // ============================================================
  772. // Îå¡¢Ö÷Á÷³Ì
  773. // ============================================================
  774. print.log("\n¡¾Ö÷Á÷³Ì¡¿¿ªÊ¼¾©¶«Ã¿ÈÕÇ©µ½Á쾩¶¹...\n");

  775. var Ç©µ½³É¹¦´ÎÊý = 0;
  776. var Ç©µ½Ìø¹ý´ÎÊý = 0;
  777. var Ç©µ½Ê§°Ü´ÎÊý = 0;

  778. for (var µ±Ç°ÂÖ´Î = 1; ; µ±Ç°ÂÖ´Î++) {
  779.     print.log("\n========== µÚ " + µ±Ç°ÂÖ´Î + " ÂÖÇ©µ½ ==========");

  780.     var Á¬Ðø´íÎó = 0;

  781.     // ===== ²½Öè1£ºÆô¶¯¾©¶« =====
  782.     print.log("\n¡¾²½Öè1¡¿Æô¶¯¾©¶«APP...");
  783.     if (!Æô¶¯¾©¶«()) {
  784.         print.log("✗ Æô¶¯Ê§°Ü£¬µÈ´ý10ÃëºóÖØÊÔ");
  785.         sleep.second(Ãë = 10);
  786.         Ç©µ½Ê§°Ü´ÎÊý++;
  787.         continue;
  788.     }
  789.     sleep.second(Ãë = 2);

  790.     // ===== µ÷ÊÔģʽ£ºÖ»Êä³öÒ³ÃæÕªÒª²»Ç©µ½ =====
  791.     if (config.µ÷ÊÔģʽ == 'debug') {
  792.         print.log("\n¡¾µ÷ÊÔģʽ¡¿µ±Ç°Îªdebugģʽ£¬Ö»Êä³öÒ³Ãæ½ÚµãÕªÒª£¬²»Ö´ÐÐÇ©µ½");
  793.         print.log("  >>> ¾©¶«Ê×Ò³½ÚµãÕªÒª <<<");
  794.         Êä³öÍêÕûÒ³ÃæÕªÒª("¾©¶«Ê×Ò³");

  795.         // ͬʱ½øÈë"ÎÒµÄ"Ò³ÃæÊä³öÕªÒª
  796.         print.log("\n  >>> ½øÈ롸Îҵġ¹Ò³ÃæÊä³öÕªÒª <<<");
  797.         if (½øÈëÎÒµÄÒ³Ãæ()) {
  798.             Êä³öÍêÕûÒ³ÃæÕªÒª("ÎÒµÄÒ³Ãæ");
  799.         }

  800.         print.log("\n¡¾µ÷ÊÔģʽ¡¿Çë²é¿´ÉÏ·½½ÚµãÕªÒª£¬È·ÈÏÇ©µ½Èë¿ÚÎÄ×Öºó£º");
  801.         print.log("  1. ½«¹Ø¼ü´Ê¼ÓÈë config.Ê×ҳǩµ½Èë¿Ú »ò config.ÎÒµÄҳǩµ½Èë¿Ú");
  802.         print.log("  2. ½« config.µ÷ÊÔģʽ ¸ÄΪ 'test' ÑéÖ¤ÍêÕûÇ©µ½Á÷³Ì");
  803.         print.log("  3. Ñé֤ͨ¹ýºó¸ÄΪ 'false' ½øÈëÕý³£Ä£Ê½");
  804.         print.log("\n  Íê³Éʱ¼ä£º");
  805.         print.time();
  806.         break;
  807.     }

  808.     // ===== ²½Öè2£º½øÈëÇ©µ½Ò³Ã棨Ê×Ò³¡úÎҵġúËÑË÷Èý·¾¶£© =====
  809.     print.log("\n¡¾²½Öè2¡¿½øÈëÇ©µ½Ò³Ãæ...");
  810.     if (!½øÈëÇ©µ½Ò³Ãæ()) {
  811.         print.log("⚠ ½øÈëÇ©µ½Ò³ÃæÊ§°Ü");
  812.         Á¬Ðø´íÎó++;

  813.         if (Á¬Ðø´íÎó >= config.×î´óÁ¬Ðø´íÎó) {
  814.             print.log("✗ Á¬ÐøÊ§°Ü£¬ÖØÆô¾©¶«...");
  815.             ÖØÆô¾©¶«();
  816.             Á¬Ðø´íÎó = 0;
  817.             continue;
  818.         }
  819.         continue;
  820.     }

  821.     // ===== ²½Öè3£ºÖ´ÐÐÇ©µ½ =====
  822.     print.log("\n¡¾²½Öè3¡¿Ö´ÐÐÇ©µ½...");
  823.     var Ç©µ½½á¹û = Ö´ÐÐÇ©µ½();

  824.     if (Ç©µ½½á¹û == 0) {
  825.         // Ç©µ½³É¹¦
  826.         Ç©µ½³É¹¦´ÎÊý++;
  827.         print.log("✓ Ç©µ½³É¹¦£¡ÀۼƳɹ¦£º" + Ç©µ½³É¹¦´ÎÊý + " ´Î");

  828.         // ²½Öè4£ºÁìÈ¡¶îÍâ½±Àø
  829.         print.log("\n¡¾²½Öè4¡¿ÁìÈ¡¶îÍâ½±Àø...");
  830.         ÁìÈ¡½±Àø();

  831.     } else if (Ç©µ½½á¹û == 1) {
  832.         // ½ñÈÕÒÑÇ©µ½
  833.         Ç©µ½Ìø¹ý´ÎÊý++;
  834.         print.log("ℹ ½ñÈÕÒÑÇ©µ½¹ý£¬Ìø¹ý");

  835.     } else {
  836.         // Ç©µ½Ê§°Ü
  837.         Ç©µ½Ê§°Ü´ÎÊý++;
  838.         print.log("✗ Ç©µ½Ê§°Ü");
  839.         Êä³öÒ³ÃæÕªÒª();
  840.     }

  841.     // ===== ²½Öè5£º»Øµ½Ê×Ò³ =====
  842.     print.log("\n¡¾²½Öè5¡¿»Øµ½Ê×Ò³...");
  843.     »Øµ½Ê×Ò³();

  844.     // ===== ͳ¼ÆÊä³ö =====
  845.     print.log("\n¡¾Ç©µ½Í³¼Æ¡¿");
  846.     print.log("==========================================");
  847.     print.log("  Ç©µ½³É¹¦£º" + Ç©µ½³É¹¦´ÎÊý + " ´Î");
  848.     print.log("  ÒÑÇ©Ìø¹ý£º" + Ç©µ½Ìø¹ý´ÎÊý + " ´Î");
  849.     print.log("  Ç©µ½Ê§°Ü£º" + Ç©µ½Ê§°Ü´ÎÊý + " ´Î");
  850.     print.log("==========================================");

  851.     // ÅжÏÊÇ·ñÐèҪѭ»·
  852.     if (!config.Ñ­»·Ç©µ½) {
  853.         print.log("\n✓ µ¥´ÎÇ©µ½Ä£Ê½£¬ÈÎÎñÍê³É£¡");
  854.         print.log("  Íê³Éʱ¼ä£º");
  855.         print.time();
  856.         break;
  857.     }

  858.     // Ñ­»·Ä£Ê½£ºµÈ´ýÏÂÒ»´ÎÇ©µ½
  859.     var µÈ´ýÃë = config.Ñ­»·¼ä¸ô·ÖÖÓ * 60;
  860.     print.log("\nµÈ´ý " + config.Ñ­»·¼ä¸ô·ÖÖÓ + " ·ÖÖÓºó½øÐÐÏÂÒ»´ÎÇ©µ½...");
  861.     print.log("  Ï´ÎÇ©µ½Ê±¼ä£ºÔ¼ " + new Date(Date.now() + µÈ´ýÃë * 1000).toLocaleString());

  862.     for (var µ¹¼ÆÊ± = µÈ´ýÃë; µ¹¼ÆÊ± > 0; µ¹¼ÆÊ± -= 60) {
  863.         var ÏÔʾ·ÖÖÓ = Math.floor(µ¹¼ÆÊ± / 60);
  864.         print.log("  Ê£ÓàµÈ´ýʱ¼ä£ºÔ¼ " + ÏÔʾ·ÖÖÓ + " ·ÖÖÓ");
  865.         sleep.second(Ãë = Math.min(60, µ¹¼ÆÊ±));
  866.     }
  867. }

  868. print.log("\n===== ¾©¶«Ã¿ÈÕÇ©µ½Á쾩¶¹Íê³É =====");
¸´ÖÆ´úÂë


»Ø¸´

ʹÓõÀ¾ß ¾Ù±¨

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

¹Ø±Õ

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

map2

GMT+8, 2026-8-4 07:45 , Processed in 0.123429 second(s), 34 queries .

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