B2BÍøÂçÈí¼þ

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

ÎÞÕϰ­·½Ê½Ë«Ö¸ÏòÖм们¶¯·Å´óËõСÍêÕûʾÀý

[¸´ÖÆÁ´½Ó]

1157

Ö÷Ìâ

1162

Ìû×Ó

7905

»ý·Ö

abc

Rank: 9Rank: 9Rank: 9

»ý·Ö
7905
Ìø×ªµ½Ö¸¶¨Â¥²ã
Â¥Ö÷
ÎÞÕϰ­·½Ê½Ë«Ö¸ÏòÖм们¶¯·Å´óËõСÍêÕûʾÀý
ÎÞÕϰ­·½Ê½Ë«Ö¸ÏòÖм们¶¯·Å´óËõСÍêÕûʾÀý B2BÍøÂçÈí¼þ

  1. /**
  2. * ============================================================
  3. * AIWROK - ˫ָÏòÖм们¶¯£¨ÄóºÏÊÖÊÆ£©ÍêÕûʾÀý¡¾ÎÞ°­Ä£Ê½¡¿
  4. * ============================================================
  5. * ºËÐŦÄÜ£º
  6. *   1. auto.dispatchGesture([path1, path2])  ¡ª¡ª ͬʱִÐжàÌõ·¾¶£¬ÊµÏÖ¶àµã´¥¿Ø
  7. *   2. new path() + setDurTime() + addPoint() ¡ª¡ª ¹¹½¨µ¥¸ùÊÖÖ¸µÄ»¬¶¯¹ì¼£
  8. *
  9. * ÊÖÊÆËµÃ÷£º
  10. *   - ÄóºÏ£¨ËõС£©£º×óÖ¸ÏòÓÒ»¬ + ÓÒÖ¸Ïò×󻬣¬Á½Ö¸Í¬Ê±ÏòÖм俿£
  11. *   - ·Å´ó£¨ÕÅ¿ª£©£º×óÖ¸Ïò×ó»¬ + ÓÒÖ¸ÏòÓÒ»¬£¬Á½Ö¸Í¬Ê±ÏòÍâ·Ö¿ª£¨¸½´øÊ¾Àý£©
  12. *
  13. * ÎÞ°­Ä£Ê½ÌØÐÔ£º
  14. *   1. »·¾³×Լ죺ÔËÐÐǰ×Ô¶¯¼ì²é path / auto.dispatchGesture ÊÇ·ñ¿ÉÓÃ
  15. *   2. °²È«·â×°£º´´½¨Â·¾¶¡¢Ö´ÐÐÊÖÊÆÈ«²¿×ß try-catch£¬ÈκÎÒ»²½Ê§°Ü¶¼²»±ÀÀ£
  16. *   3. ²ÎÊýУÑ飺°Ù·Ö±È²ÎÊýÔ½½ç×Ô¶¯¾ÀÕýµ½ºÏ·¨·¶Î§
  17. *   4. µ¥¸öÊÖÊÆÊ§°Ü²»Ó°ÏìºóÐøÊÖÊÆ¼ÌÐøÖ´ÐÐ
  18. *   5. ʧ°Ü½µ¼¶£º·µ»Ø false ²¢¸ø³öÅŲ齨Ò飬·½±ãÉϲãÂß¼­×ö±¸Ñ¡·½°¸
  19. *
  20. * ¡¾ÖØÒª¡¿±¾Îļþ½öÊÊÅä"ÎÞ°­Ä£Ê½"£¨ÎÞÕϰ­·þÎñ£©ÔËÐУº
  21. *   - ÊÖÊÆÒ»ÂÉʹÓà auto.dispatchGesture([path1, path2]) + new path()
  22. *   - ÔËÐÐǰÇëÈ·ÈÏÒÑ¿ªÆô AIWROK ÎÞÕϰ­·þÎñȨÏÞ
  23. * ============================================================
  24. */

  25. // =====================================================
  26. //  0. »·¾³×Լ죨½Å±¾ÔËÐÐʱ»á×Ô¶¯Ö´ÐÐÒ»´Î£©
  27. // =====================================================
  28. var _GESTURE_OK = true;

  29. (function _gestureSelfCheck() {
  30.     var msg = "¡¾×Լ졿ÄóºÏÊÖÊÆÔËÐл·¾³:\n";
  31.     try {
  32.         if (typeof path === 'undefined') {
  33.             msg += "  ¡Á path ¶ÔÏ󲻿ÉÓã¨ÎÞ·¨´´½¨ÊÖÊÆÂ·¾¶£©\n";
  34.             _GESTURE_OK = false;
  35.         } else {
  36.             msg += "  ✓ path ¶ÔÏó¿ÉÓÃ\n";
  37.         }

  38.         if (typeof auto === 'undefined' || typeof auto.dispatchGesture !== 'function') {
  39.             msg += "  ¡Á auto.dispatchGesture ²»¿ÉÓã¨ÎÞ·¨Ö´ÐÐÊÖÊÆ£©\n";
  40.             _GESTURE_OK = false;
  41.         } else {
  42.             msg += "  ✓ auto.dispatchGesture ¿ÉÓÃ\n";
  43.         }

  44.         // ÆÁÄ»³ß´ç¼ì²â£¨¿ÉÑ¡£¬Ê§°Ü¿ÉÓÃĬÈÏÖµ£©
  45.         try {
  46.             if (typeof screen !== 'undefined'
  47.                 && typeof screen.getScreenWidth === 'function'
  48.                 && typeof screen.getScreenHeight === 'function') {
  49.                 msg += "  ✓ screen ³ß´ç¿ÉÓÃ: " + screen.getScreenWidth() + " x " + screen.getScreenHeight() + "\n";
  50.             } else if (typeof device !== 'undefined' && typeof device.width === 'number') {
  51.                 msg += "  ✓ device ³ß´ç¿ÉÓÃ: " + device.width + " x " + device.height + "\n";
  52.             } else {
  53.                 msg += "  ⚠ ³ß´ç»ñÈ¡²»¿ÉÓ㬽«»ØÍË 1080 x 1920\n";
  54.             }
  55.         } catch (e) {
  56.             msg += "  ⚠ ³ß´ç¶ÁÈ¡Òì³£: " + e + "£¬½«»ØÍË 1080 x 1920\n";
  57.         }

  58.         if (_GESTURE_OK) {
  59.             msg += "  ✓ ×Ô¼ìͨ¹ý£¬¿ÉÒÔÕý³£Ö´ÐÐÄóºÏÊÖÊÆ";
  60.         } else {
  61.             msg += "  ✗ ×Ô¼ìδͨ¹ý£¡Çë¼ì²éÊÇ·ñÒÑ¿ªÆô AIWROK ÎÞÕϰ­·þÎñȨÏÞ";
  62.         }
  63.     } catch (e) {
  64.         msg += "  ✗ ×Ô¼ì¹ý³ÌÒì³£: " + e + "\n";
  65.         _GESTURE_OK = false;
  66.     }
  67.     _log(msg);
  68. })();

  69. // =====================================================
  70. //  1. °²È«¹¤¾ßº¯Êý
  71. // =====================================================

  72. /**
  73. * °²È«»ñÈ¡ÆÁÄ»³ß´ç£¨ÈκÎÒì³£¶¼»ØÍËĬÈÏÖµ£©
  74. */
  75. function _gestureGetScreen() {
  76.     var w = 1080, h = 1920;
  77.     try {
  78.         if (typeof screen !== 'undefined') {
  79.             if (typeof screen.getScreenWidth === 'function')  w = screen.getScreenWidth();
  80.             if (typeof screen.getScreenHeight === 'function') h = screen.getScreenHeight();
  81.         } else if (typeof device !== 'undefined') {
  82.             if (typeof device.width === 'number')  w = device.width;
  83.             if (typeof device.height === 'number') h = device.height;
  84.         }
  85.         // ·ÀÔàÊý¾Ý£º³ß´çΪ 0 »ò·ÇÊý×Öʱ»ØÍËĬÈÏ
  86.         w = (typeof w === 'number' && w > 0) ? w : 1080;
  87.         h = (typeof h === 'number' && h > 0) ? h : 1920;
  88.     } catch (e) {
  89.         _log("⚠ »ñÈ¡ÆÁÄ»³ß´çÒì³££¬Ê¹ÓÃĬÈÏÖµ: " + e);
  90.     }
  91.     return { w: w, h: h };
  92. }

  93. /**
  94. * ²ÎÊýУÑ飺°Ñ°Ù·Ö±ÈÔ¼Êøµ½ 0~1 Ö®¼ä£¨·ÀÖ¹Ô½½çµ¼ÖÂÊÖÊÆ±¨´í£©
  95. */
  96. function _clampPercent(v, fallback) {
  97.     try {
  98.         v = parseFloat(v);
  99.         if (isNaN(v)) return fallback;
  100.         if (v < 0) return 0;
  101.         if (v > 1) return 1;
  102.         return v;
  103.     } catch (e) {
  104.         return fallback;
  105.     }
  106. }

  107. /**
  108. * °²È«´´½¨µ¥Ö¸Â·¾¶
  109. * @param points ×ø±êµãÊý×飬Èç [[x1,y1],[x2,y2]]
  110. * @param duration ʱ³¤(ºÁÃë)
  111. * @return path ¶ÔÏó£»´´½¨Ê§°Ü·µ»Ø null
  112. */
  113. function _safeCreatePath(points, duration) {
  114.     try {
  115.         if (typeof path === 'undefined') {
  116.             _log("✗ path ¶ÔÏ󲻿ÉÓã¬ÎÞ·¨´´½¨Â·¾¶");
  117.             return null;
  118.         }
  119.         if (!points || points.length < 2) {
  120.             _log("✗ ·¾¶µã²»×㣨ÖÁÉÙÐèÒª 2 ¸öµã£©");
  121.             return null;
  122.         }
  123.         var p = new path();
  124.         p.setDurTime(duration > 0 ? duration : 600);
  125.         for (var i = 0; i < points.length; i++) {
  126.             var pt = points[i];
  127.             if (!pt || typeof pt[0] !== 'number' || typeof pt[1] !== 'number') {
  128.                 _log("✗ ·¾¶µã[" + i + "]·Ç·¨£¬Ìø¹ý¸Ãµã: " + JSON.stringify(pt));
  129.                 continue;
  130.             }
  131.             p.addPoint(pt[0], pt[1]);
  132.         }
  133.         return p;
  134.     } catch (e) {
  135.         _log("✗ ´´½¨Â·¾¶Òì³£: " + e);
  136.         return null;
  137.     }
  138. }

  139. /**
  140. * °²È«Ö´ÐÐÊÖÊÆ£¨ÎÞ°­ºËÐÄ£ºÈκÎÇé¿ö¶¼²»Å׳öÒì³££©
  141. * @param paths path ¶ÔÏóÊý×é
  142. * @return true/false
  143. */
  144. function _safeDispatchGesture(paths) {
  145.     try {
  146.         if (!_GESTURE_OK) {
  147.             _log("✗ »·¾³×Ô¼ìδͨ¹ý£¨path/dispatchGesture ²»¿ÉÓã©£¬Ìø¹ýÊÖÊÆ");
  148.             return false;
  149.         }
  150.         if (!paths || paths.length === 0) {
  151.             _log("✗ ÊÖÊÆÂ·¾¶Êý×éΪ¿Õ£¬²»Ö´ÐÐ");
  152.             return false;
  153.         }
  154.         if (typeof auto === 'undefined' || typeof auto.dispatchGesture !== 'function') {
  155.             _log("✗ auto.dispatchGesture ²»¿ÉÓã¬ÎÞ·¨Ö´ÐÐÊÖÊÆ");
  156.             return false;
  157.         }
  158.         // ¹ýÂ˵ô´´½¨Ê§°Ü(null)µÄ·¾¶£¬ÖÁÉÙÒªÓÐÒ»ÌõÓÐЧ·¾¶
  159.         var valid = [];
  160.         for (var i = 0; i < paths.length; i++) {
  161.             if (paths[i]) valid.push(paths[i]);
  162.         }
  163.         if (valid.length === 0) {
  164.             _log("✗ ûÓÐÓÐЧµÄ·¾¶¶ÔÏ󣬲»Ö´ÐÐÊÖÊÆ");
  165.             return false;
  166.         }
  167.         var result = auto.dispatchGesture(valid);
  168.         if (result === true || result === 1) {
  169.             return true;
  170.         }
  171.         _log("✗ dispatchGesture ·µ»ØÊ§°Ü£¨¿ÉÄÜÊÇȨÏÞ²»×ã»òµ±Ç°½çÃæ²»Ö§³ÖÊÖÊÆ£©");
  172.         return false;
  173.     } catch (e) {
  174.         _log("✗ Ö´ÐÐÊÖÊÆÒì³£: " + e);
  175.         return false;
  176.     }
  177. }

  178. /**
  179. * ÊÖÊÆÊ§°ÜʱµÄÅŲéÌáʾ£¨ÎÞ°­Ä£Ê½£ºÊ§°Ü²»¾²Ä¬£¬¸øÏßË÷£©
  180. */
  181. function _gestureFailHint() {
  182.     _log("  ©¸©¤ ÅŲ齨Òé:");
  183.     _log("      1. È·ÈÏÒÑ¿ªÆô AIWROK µÄ¡¾ÎÞÕϰ­·þÎñ¡¿È¨ÏÞ");
  184.     _log("      2. È·Èϵ±Ç°´¦ÓÚÖ§³Ö˫ָÄóºÏµÄ½çÃæ£¨È翴ͼ/µØÍ¼£¬×ÀÃæ¿ÉÄÜû·´Ó¦£©");
  185.     _log("      3. È·ÈÏÎÞÕϰ­·þÎñûÓÐÓëÆäËûÓ¦ÓóåÍ»");
  186. }

  187. /**
  188. * ÈÕÖ¾¹¤¾ß£º¼æÈÝ print.log / console.log
  189. */
  190. function _log(msg) {
  191.     try {
  192.         if (typeof print !== 'undefined' && typeof print.log === 'function') {
  193.             print.log(msg);
  194.         } else if (typeof console !== 'undefined' && typeof console.log === 'function') {
  195.             console.log(msg);
  196.         }
  197.     } catch (e) {
  198.         // ÈÕ־ʧ°ÜÖ±½ÓºöÂÔ£¬²»Ó°ÏìÖ÷Ì幦ÄÜ
  199.     }
  200. }

  201. // =====================================================
  202. //  2. ÎÞ°­Ä£Ê½ÄóºÏ¹¤¾ßº¯Êý£¨¿ÉÖ±½Ó¸´Óã©
  203. // =====================================================

  204. /**
  205. * ˮƽÄóºÏ£¨×óÖ¸ÏòÓÒ + ÓÒÖ¸Ïò×ó ¡ú ÏòÖм们¶¯£©
  206. * @param leftStartXPercent  ×óÖ¸Æðµã X °Ù·Ö±È 0~1
  207. * @param rightStartXPercent ÓÒÖ¸Æðµã X °Ù·Ö±È 0~1
  208. * @param yPercent           ÄóºÏÖÐÐÄÏß Y °Ù·Ö±È 0~1
  209. * @param convergePercent    ÏòÖмäÊÕÁ²Î»Öã¨0.5 = ÕýÖÐÐÄ£©
  210. * @param duration           Ê±³¤(ºÁÃë)
  211. */
  212. function pinchHorizontal(leftStartXPercent, rightStartXPercent, yPercent, convergePercent, duration) {
  213.     try {
  214.         leftStartXPercent  = _clampPercent(leftStartXPercent, 0.25);
  215.         rightStartXPercent = _clampPercent(rightStartXPercent, 0.75);
  216.         yPercent           = _clampPercent(yPercent, 0.5);
  217.         convergePercent    = _clampPercent(convergePercent, 0.5);
  218.         duration           = (typeof duration === 'number' && duration > 0) ? duration : 600;

  219.         var s = _gestureGetScreen();
  220.         var y  = s.h * yPercent;
  221.         var cx = s.w * convergePercent;
  222.         var gap = s.w * 0.05;

  223.         // ×óÖ¸£ºÆðµã ¡ú ÖÐÐÄ×ó²à£¨Áô¼ä¾à²»×²³µ£©
  224.         var pL = _safeCreatePath([
  225.             [s.w * leftStartXPercent, y],
  226.             [cx - gap, y]
  227.         ], duration);
  228.         // ÓÒÖ¸£ºÆðµã ¡ú ÖÐÐÄÓÒ²à
  229.         var pR = _safeCreatePath([
  230.             [s.w * rightStartXPercent, y],
  231.             [cx + gap, y]
  232.         ], duration);

  233.         _log("ˮƽÄóºÏ: ×ó " + (leftStartXPercent * 100).toFixed(0) + "% ¡ú ÖÐÐÄ×ó"
  234.              + "£¬ÓÒ " + (rightStartXPercent * 100).toFixed(0) + "% ¡ú ÖÐÐÄÓÒ"
  235.              + "£¬Y=" + (yPercent * 100).toFixed(0) + "%£¬Ê±³¤ " + duration + "ms");

  236.         var ok = _safeDispatchGesture([pL, pR]);
  237.         _log(ok ? "✓ ˮƽÄóºÏÖ´Ðгɹ¦" : "✗ ˮƽÄóºÏÖ´ÐÐʧ°Ü");
  238.         if (!ok) _gestureFailHint();
  239.         return ok;
  240.     } catch (e) {
  241.         _log("✗ ˮƽÄóºÏº¯ÊýÒì³£: " + e);
  242.         return false;
  243.     }
  244. }

  245. /**
  246. * ´¹Ö±ÄóºÏ£¨ÉÏָϻ¬ + ÏÂÖ¸ÉÏ»¬ ¡ú ÏòÖм䣩
  247. * @param topStartYPercent    ÉÏÖ¸Æðµã Y °Ù·Ö±È 0~1
  248. * @param bottomStartYPercent ÏÂÖ¸Æðµã Y °Ù·Ö±È 0~1
  249. * @param xPercent            ÄóºÏÖÐÐÄÏß X °Ù·Ö±È 0~1
  250. * @param convergePercent     ÏòÖмäÊÕÁ²Î»Öã¨0.5 = ÕýÖÐÐÄ£©
  251. * @param duration            Ê±³¤(ºÁÃë)
  252. */
  253. function pinchVertical(topStartYPercent, bottomStartYPercent, xPercent, convergePercent, duration) {
  254.     try {
  255.         topStartYPercent    = _clampPercent(topStartYPercent, 0.25);
  256.         bottomStartYPercent = _clampPercent(bottomStartYPercent, 0.75);
  257.         xPercent            = _clampPercent(xPercent, 0.5);
  258.         convergePercent     = _clampPercent(convergePercent, 0.5);
  259.         duration            = (typeof duration === 'number' && duration > 0) ? duration : 600;

  260.         var s = _gestureGetScreen();
  261.         var x  = s.w * xPercent;
  262.         var cy = s.h * convergePercent;
  263.         var gap = s.h * 0.05;

  264.         // ÉÏÖ¸£º¶¥²¿ ¡ú ÖÐÐÄÉÏ·½
  265.         var pT = _safeCreatePath([
  266.             [x, s.h * topStartYPercent],
  267.             [x, cy - gap]
  268.         ], duration);
  269.         // ÏÂÖ¸£ºµ×²¿ ¡ú ÖÐÐÄÏ·½
  270.         var pB = _safeCreatePath([
  271.             [x, s.h * bottomStartYPercent],
  272.             [x, cy + gap]
  273.         ], duration);

  274.         _log("´¹Ö±ÄóºÏ: ÉÏ " + (topStartYPercent * 100).toFixed(0) + "% + Ï "
  275.              + (bottomStartYPercent * 100).toFixed(0) + "% ¡ú ÖÐÐÄ£¬X="
  276.              + (xPercent * 100).toFixed(0) + "%£¬Ê±³¤ " + duration + "ms");

  277.         var ok = _safeDispatchGesture([pT, pB]);
  278.         _log(ok ? "✓ ´¹Ö±ÄóºÏÖ´Ðгɹ¦" : "✗ ´¹Ö±ÄóºÏÖ´ÐÐʧ°Ü");
  279.         if (!ok) _gestureFailHint();
  280.         return ok;
  281.     } catch (e) {
  282.         _log("✗ ´¹Ö±ÄóºÏº¯ÊýÒì³£: " + e);
  283.         return false;
  284.     }
  285. }

  286. /**
  287. * ¶Ô½ÇÏßÄóºÏ£¨×óÉÏ + ÓÒÏ ¡ú ÖÐÐÄ£¬¿´Í¼ËõС×î³£Óã©
  288. * @param duration ʱ³¤(ºÁÃë)
  289. */
  290. function pinchDiagonal(duration) {
  291.     try {
  292.         duration = (typeof duration === 'number' && duration > 0) ? duration : 700;
  293.         var s = _gestureGetScreen();
  294.         var cx = s.w * 0.5, cy = s.h * 0.5;
  295.         var gx = s.w * 0.05, gy = s.h * 0.05;

  296.         var p1 = _safeCreatePath([
  297.             [s.w * 0.15, s.h * 0.20],
  298.             [cx - gx, cy - gy]
  299.         ], duration);
  300.         var p2 = _safeCreatePath([
  301.             [s.w * 0.85, s.h * 0.80],
  302.             [cx + gx, cy + gy]
  303.         ], duration);

  304.         _log("¶Ô½ÇÏßÄóºÏ: ×óÉÏ(15%,20%) + ÓÒÏÂ(85%,80%) ¡ú ÖÐÐÄ£¬Ê±³¤ " + duration + "ms");

  305.         var ok = _safeDispatchGesture([p1, p2]);
  306.         _log(ok ? "✓ ¶Ô½ÇÏßÄóºÏÖ´Ðгɹ¦" : "✗ ¶Ô½ÇÏßÄóºÏÖ´ÐÐʧ°Ü");
  307.         if (!ok) _gestureFailHint();
  308.         return ok;
  309.     } catch (e) {
  310.         _log("✗ ¶Ô½ÇÏßÄóºÏº¯ÊýÒì³£: " + e);
  311.         return false;
  312.     }
  313. }

  314. /**
  315. * ͨÓÃ˫ָÄóºÏ£¨ÈÎÒâÆðµã + Ö¸¶¨ÊÕÁ²ÖÐÐÄ£©
  316. * @param start1   Æðµã1 {x:0~1, y:0~1}
  317. * @param start2   Æðµã2 {x:0~1, y:0~1}
  318. * @param center   ÊÕÁ²ÖÐÐÄ {x:0~1, y:0~1}
  319. * @param duration ʱ³¤(ºÁÃë)
  320. */
  321. function pinchGeneric(start1, start2, center, duration) {
  322.     try {
  323.         if (!start1 || !start2 || typeof start1.x !== 'number' || typeof start2.x !== 'number') {
  324.             _log("✗ pinchGeneric ²ÎÊý´íÎó£ºstart1/start2 ±ØÌîÇÒ±ØÐ뺬 x/y °Ù·Ö±È");
  325.             return false;
  326.         }
  327.         var s = _gestureGetScreen();
  328.         center   = center   || { x: 0.5, y: 0.5 };
  329.         duration = (typeof duration === 'number' && duration > 0) ? duration : 700;
  330.         var ratio = 0.85; // ÏòÖÐÐÄ¿¿½ü±ÈÀý£¨Áô¼ä¾à±ÜÃâÁ½Ö¸Öغϱ»Ê¶±ð³Éµ¥Ö¸£©

  331.         var cx = s.w * _clampPercent(center.x, 0.5);
  332.         var cy = s.h * _clampPercent(center.y, 0.5);

  333.         var p1 = _safeCreatePath([
  334.             [s.w * _clampPercent(start1.x, 0.25), s.h * _clampPercent(start1.y, 0.25)],
  335.             [s.w * _clampPercent(start1.x, 0.25) + (cx - s.w * _clampPercent(start1.x, 0.25)) * ratio,
  336.              s.h * _clampPercent(start1.y, 0.25) + (cy - s.h * _clampPercent(start1.y, 0.25)) * ratio]
  337.         ], duration);

  338.         var p2 = _safeCreatePath([
  339.             [s.w * _clampPercent(start2.x, 0.75), s.h * _clampPercent(start2.y, 0.75)],
  340.             [s.w * _clampPercent(start2.x, 0.75) + (cx - s.w * _clampPercent(start2.x, 0.75)) * ratio,
  341.              s.h * _clampPercent(start2.y, 0.75) + (cy - s.h * _clampPercent(start2.y, 0.75)) * ratio]
  342.         ], duration);

  343.         _log("ͨÓÃÄóºÏ: (" + start1.x + "," + start1.y + ") + (" + start2.x + "," + start2.y
  344.              + ") ¡ú ÖÐÐÄ(" + center.x + "," + center.y + ")£¬Ê±³¤ " + duration + "ms");

  345.         var ok = _safeDispatchGesture([p1, p2]);
  346.         _log(ok ? "✓ ͨÓÃÄóºÏÖ´Ðгɹ¦" : "✗ ͨÓÃÄóºÏÖ´ÐÐʧ°Ü");
  347.         if (!ok) _gestureFailHint();
  348.         return ok;
  349.     } catch (e) {
  350.         _log("✗ ͨÓÃÄóºÏº¯ÊýÒì³£: " + e);
  351.         return false;
  352.     }
  353. }

  354. /**
  355. * ˮƽ·Å´ó£¨ÓëÄóºÏÏà·´£¬Ë«Ö¸ÏòÍâ·Ö¿ª£©
  356. * @param duration ʱ³¤(ºÁÃë)
  357. */
  358. function zoomHorizontal(duration) {
  359.     try {
  360.         duration = (typeof duration === 'number' && duration > 0) ? duration : 600;
  361.         var s = _gestureGetScreen();
  362.         var y   = s.h * 0.5;
  363.         var gap = s.w * 0.05;

  364.         var pL = _safeCreatePath([
  365.             [s.w * 0.5 - gap, y],
  366.             [s.w * 0.20, y]
  367.         ], duration);
  368.         var pR = _safeCreatePath([
  369.             [s.w * 0.5 + gap, y],
  370.             [s.w * 0.80, y]
  371.         ], duration);

  372.         _log("ˮƽ·Å´ó: ÖÐ¼ä ¡ú ×óÓÒÕÅ¿ª£¬Ê±³¤ " + duration + "ms");

  373.         var ok = _safeDispatchGesture([pL, pR]);
  374.         _log(ok ? "✓ ˮƽ·Å´óÖ´Ðгɹ¦" : "✗ ˮƽ·Å´óÖ´ÐÐʧ°Ü");
  375.         if (!ok) _gestureFailHint();
  376.         return ok;
  377.     } catch (e) {
  378.         _log("✗ ˮƽ·Å´óº¯ÊýÒì³£: " + e);
  379.         return false;
  380.     }
  381. }

  382. // =====================================================
  383. //  3. Ö÷Á÷³Ì£¨ÎÞ°­Ä£Ê½£ºÃ¿¸öʾÀý¶ÀÁ¢ try-catch£¬»¥²»Ó°Ï죩
  384. // =====================================================
  385. function main() {
  386.     _log("========== ˫ָÏòÖм们¶¯£¨ÄóºÏÊÖÊÆ£©Ê¾Àý¡¾ÎÞ°­Ä£Ê½¡¿ ==========");

  387.     if (!_GESTURE_OK) {
  388.         _log("✗ »·¾³×Ô¼ìδͨ¹ý£¬Ìø¹ýËùÓÐÊÖÊÆÖ´ÐУ¨ÇëÏÈ¿ªÆôÎÞÕϰ­·þÎñȨÏÞ£©");
  389.         return;
  390.     }

  391.     var s = _gestureGetScreen();
  392.     var screenW = s.w, screenH = s.h;
  393.     _log("ÆÁÄ»³ß´ç: " + screenW + " x " + screenH);

  394.     // ---------- ʾÀý 1£ºË®Æ½·½Ïò˫ָÄóºÏ£¨ÏòÖм们¶¯£¬ËõСͼƬÓã© ----------
  395.     _log("\n--- ʾÀý1: ˮƽÄóºÏ£¨ÏòÖм们¶¯£¬ËõС£©---");
  396.     try {
  397.         var pathLeft1 = new path();
  398.         pathLeft1.setDurTime(600);
  399.         pathLeft1.addPoint(screenW * 0.25, screenH * 0.5);
  400.         pathLeft1.addPoint(screenW * 0.45, screenH * 0.5);

  401.         var pathRight1 = new path();
  402.         pathRight1.setDurTime(600);
  403.         pathRight1.addPoint(screenW * 0.75, screenH * 0.5);
  404.         pathRight1.addPoint(screenW * 0.55, screenH * 0.5);

  405.         var ok1 = _safeDispatchGesture([pathLeft1, pathRight1]);
  406.         _log(ok1 ? "✓ ˮƽÄóºÏÖ´Ðгɹ¦" : "✗ ˮƽÄóºÏÖ´ÐÐʧ°Ü");
  407.         if (!ok1) _gestureFailHint();
  408.     } catch (e) {
  409.         _log("✗ ʾÀý1 Òì³£: " + e);
  410.     }
  411.     try { sleep.second(1); } catch (e) {}

  412.     // ---------- ʾÀý 2£º´¹Ö±·½Ïò˫ָÄóºÏ£¨ÉÏָϻ¬ + ÏÂÖ¸ÉÏ»¬ ¡ú ÏòÖм䣩 ----------
  413.     _log("\n--- ʾÀý2: ´¹Ö±ÄóºÏ£¨ÏòÖм们¶¯£©---");
  414.     try {
  415.         var pathTop = new path();
  416.         pathTop.setDurTime(600);
  417.         pathTop.addPoint(screenW * 0.5, screenH * 0.25);
  418.         pathTop.addPoint(screenW * 0.5, screenH * 0.45);

  419.         var pathBottom = new path();
  420.         pathBottom.setDurTime(600);
  421.         pathBottom.addPoint(screenW * 0.5, screenH * 0.75);
  422.         pathBottom.addPoint(screenW * 0.5, screenH * 0.55);

  423.         var ok2 = _safeDispatchGesture([pathTop, pathBottom]);
  424.         _log(ok2 ? "✓ ´¹Ö±ÄóºÏÖ´Ðгɹ¦" : "✗ ´¹Ö±ÄóºÏÖ´ÐÐʧ°Ü");
  425.         if (!ok2) _gestureFailHint();
  426.     } catch (e) {
  427.         _log("✗ ʾÀý2 Òì³£: " + e);
  428.     }
  429.     try { sleep.second(1); } catch (e) {}

  430.     // ---------- ʾÀý 3£º¶Ô½ÇÏßÄóºÏ£¨×óÉÏ+ÓÒÏÂͬʱÏòÖÐÐÄ¿¿Â££© ----------
  431.     _log("\n--- ʾÀý3: ¶Ô½ÇÏßÄóºÏ£¨×óÉÏ+ÓÒÏ ¡ú ÖÐÐÄ£©---");
  432.     try {
  433.         var pathLT = new path();
  434.         pathLT.setDurTime(700);
  435.         pathLT.addPoint(screenW * 0.15, screenH * 0.2);
  436.         pathLT.addPoint(screenW * 0.42, screenH * 0.46);

  437.         var pathRB = new path();
  438.         pathRB.setDurTime(700);
  439.         pathRB.addPoint(screenW * 0.85, screenH * 0.8);
  440.         pathRB.addPoint(screenW * 0.58, screenH * 0.54);

  441.         var ok3 = _safeDispatchGesture([pathLT, pathRB]);
  442.         _log(ok3 ? "✓ ¶Ô½ÇÏßÄóºÏÖ´Ðгɹ¦" : "✗ ¶Ô½ÇÏßÄóºÏÖ´ÐÐʧ°Ü");
  443.         if (!ok3) _gestureFailHint();
  444.     } catch (e) {
  445.         _log("✗ ʾÀý3 Òì³£: " + e);
  446.     }
  447.     try { sleep.second(1); } catch (e) {}

  448.     // ---------- ʾÀý 4£º·Å´óÊÖÊÆ£¨ÓëÄóºÏÏà·´£¬Ë«Ö¸ÏòÍâ·Ö¿ª£© ----------
  449.     _log("\n--- ʾÀý4: ˮƽ·Å´ó£¨Ë«Ö¸ÏòÍâ·Ö¿ª£©---");
  450.     try {
  451.         var pathLeft4 = new path();
  452.         pathLeft4.setDurTime(600);
  453.         pathLeft4.addPoint(screenW * 0.45, screenH * 0.5);
  454.         pathLeft4.addPoint(screenW * 0.20, screenH * 0.5);

  455.         var pathRight4 = new path();
  456.         pathRight4.setDurTime(600);
  457.         pathRight4.addPoint(screenW * 0.55, screenH * 0.5);
  458.         pathRight4.addPoint(screenW * 0.80, screenH * 0.5);

  459.         var ok4 = _safeDispatchGesture([pathLeft4, pathRight4]);
  460.         _log(ok4 ? "✓ ˮƽ·Å´óÖ´Ðгɹ¦" : "✗ ˮƽ·Å´óÖ´ÐÐʧ°Ü");
  461.         if (!ok4) _gestureFailHint();
  462.     } catch (e) {
  463.         _log("✗ ʾÀý4 Òì³£: " + e);
  464.     }
  465.     try { sleep.second(1); } catch (e) {}

  466.     // ---------- ʾÀý 5£ºµ÷Ó÷â×°º¯Êý ----------
  467.     _log("\n--- ʾÀý5: µ÷Ó÷â×°º¯Êý pinchHorizontal() ---");
  468.     try {
  469.         var ok5 = pinchHorizontal(0.2, 0.8, 0.5, 0.5, 800);
  470.         _log(ok5 ? "✓ ·â×°º¯Êýµ÷Óóɹ¦" : "✗ ·â×°º¯Êýµ÷ÓÃʧ°Ü£¨²»Ó°Ïì½Å±¾¼ÌÐø£©");
  471.     } catch (e) {
  472.         _log("✗ ʾÀý5 Òì³£: " + e);
  473.     }
  474.     try { sleep.second(1); } catch (e) {}

  475.     // ---------- ʾÀý 6£º·â×°º¯Êý¼¯ºÏÑÝʾ£¨´¹Ö±/¶Ô½ÇÏß/·Å´ó/ͨÓã© ----------
  476.     _log("\n--- ʾÀý6: ·â×°º¯Êý¼¯ºÏÑÝʾ ---");
  477.     try {
  478.         pinchVertical(0.2, 0.8, 0.5, 0.5, 700);
  479.         try { sleep.second(1); } catch (e) {}
  480.         pinchDiagonal(800);
  481.         try { sleep.second(1); } catch (e) {}
  482.         zoomHorizontal(700);
  483.         try { sleep.second(1); } catch (e) {}
  484.         pinchGeneric({x: 0.1, y: 0.1}, {x: 0.9, y: 0.9}, {x: 0.5, y: 0.5}, 800);
  485.     } catch (e) {
  486.         _log("✗ ʾÀý6 Òì³£: " + e);
  487.     }

  488.     _log("\n========== ʾÀýÈ«²¿Ö´ÐÐÍê³É£¨ÎÞ°­Ä£Ê½£© ==========");
  489. }

  490. // Ö´ÐÐÖ÷º¯Êý
  491. main();
¸´ÖÆ´úÂë


»Ø¸´

ʹÓõÀ¾ß ¾Ù±¨

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

¹Ø±Õ

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

map2

GMT+8, 2026-8-18 08:51 , Processed in 0.153110 second(s), 35 queries .

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