B2BÍøÂçÈí¼þ

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

°²×¿H5ÈÕÖ¾´òÓ¡ÔËÐйý³ÌÀý×Ó

[¸´ÖÆÁ´½Ó]

1075

Ö÷Ìâ

1080

Ìû×Ó

7577

»ý·Ö

abc

Rank: 9Rank: 9Rank: 9

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

°²×¿H5ÈÕÖ¾´òÓ¡ÔËÐйý³ÌÀý×Ó
°²×¿H5ÈÕÖ¾´òÓ¡ÔËÐйý³ÌÀý×Ó B2BÍøÂçÈí¼þ

°²×¿H5ÈÕÖ¾´òÓ¡ÔËÐйý³ÌÀý×Ó B2BÍøÂçÈí¼þ

°²×¿H5ÈÕÖ¾´òÓ¡ÔËÐйý³ÌÀý×Ó B2BÍøÂçÈí¼þ

  1. // 🍎½»Á÷QQȺ£º711841924£¨Èº£©
  2. // 🍎½»Á÷QQȺ£º528816639  £¨°²×¿ÄÚ²âȺ£©

  3. // ³õʼ»¯Ò»¸öactivityÒ³Ãæ
  4. var ac = new activity();

  5. ac.loadXML(`
  6. <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
  7.     android:layout_width="match_parent"
  8.     android:layout_height="match_parent"
  9.     android:orientation="vertical"
  10. >
  11.     <WebView
  12.         android:id="@+id/web"
  13.         android:layout_width="match_parent"
  14.         android:layout_height="0dp"
  15.         android:layout_weight="1" />
  16. </LinearLayout>
  17. `);

  18. // ÑÓ³ÙÈ·±£²¼¾Ö¼ÓÔØÍê³É
  19. sleep.millisecond(400);

  20. // »ñÈ¡ WebView ×é¼þ
  21. var web1 = ac.findWebViewById('web');
  22. // ½«WebView¶ÔÏó±©Â¶ÎªÈ«¾Ö±äÁ¿£¬¹©Ö÷½Å±¾Ê¹ÓÃ
  23. global.web1 = web1;

  24. // ¼ÓÔØ±¾µØ HTML Îļþ£¨Ê¹Óþø¶Ô·¾¶£©
  25. web1.url('/´úÂë/h5.html');

  26. // ÈýÃëµ¹¼ÆÊ±
  27. printl("\n3 ÃëºóÆô¶¯...");
  28. for (var i = 3; i > 0; i--) {
  29.     printl(i + "...");
  30.     sleep.millisecond(1000);
  31. }
  32. printl("Æô¶¯Íê³É£¡\n");

  33. // µ¼ÈëÈÕ־ǎӯ÷
  34. Import("LogBridge.js");

  35. // ³õʼ»¯ÈÕ־ǎӣ¨»á×èÈûµÈ´ýWebView¼ÓÔØÍê³É£©
  36. LogManagerH5.init(web1, ac);

  37. // ¶¨Òå H5 Öе÷Óõĺ¯Êý
  38. function test(arg) {
  39.     LogManagerH5.info("ÎÒ±» H5 µ÷ÓÃÁË£¬²ÎÊýÊÇ: " + arg);
  40. }

  41. // ¶¨Òå·µ»Ø×ÀÃæµÄº¯Êý£¬¹©H5Ò³Ãæµ÷ÓÃ
  42. function returnToHome() {
  43.     LogManagerH5.info("Ö´Ðзµ»Ø×ÀÃæ²Ù×÷");
  44.     // °²×¿»·¾³Ïµķµ»Ø×ÀÃæ²Ù×÷
  45.     if (typeof device !== 'undefined' && device.home) {
  46.         device.home();
  47.     } else {
  48.         LogManagerH5.warn("·µ»Ø×ÀÃæ¹¦ÄÜÔÚµ±Ç°»·¾³²»¿ÉÓÃ");
  49.     }
  50. }

  51. // ·¢ËͲâÊÔÈÕÖ¾µ½H5½çÃæ
  52. LogManagerH5.success("ϵͳÆô¶¯³É¹¦");
  53. LogManagerH5.info("WebViewÒѾÍÐ÷");

  54. // ============================================
  55. // µ¼Èë²¢Ö´ÐÐ PrintLogSystem ÑÝʾ
  56. // ============================================

  57. // µ¼Èë²¢Ö´ÐÐ PrintLogSystem ÑÝʾ
  58. Import("PrintLogSystem.js");

  59. // ÑÓ³ÙÖ´ÐУ¬È·±£Îļþ¼ÓÔØÍê³É
  60. sleep.millisecond(100);

  61. // Ö´ÐÐÑÝʾ£¨È·±£ PrintLogSystem.js ÒѼÓÔØ£©
  62. if (typeof runPrintLogSystemDemo === 'function') {
  63.     runPrintLogSystemDemo();
  64. } else {
  65.     LogManagerH5.error("PrintLogSystem.js ¼ÓÔØÊ§°Ü");
  66. }
  67. /**
  68. * ============================================
  69. * &#127822; printÈÕ־ϵͳÍêÕûʾÀý
  70. * ¹¦ÄÜ: ÈÕÖ¾¼Ç¼¡¢µ÷ÊÔÊä³ö¡¢»­Öл­¹ÜÀí
  71. * ½»Á÷QQȺ: 711841924 (Ⱥһ) / 528816639 (Æ»¹ûÄÚ²âȺ)
  72. * ============================================
  73. */
¸´ÖÆ´úÂë


  1. /**
  2. * ============================================
  3. * ÈÕ־ǎӯ÷ - ½«printÈÕÖ¾Êä³öµ½H5½çÃæ
  4. * °æ±¾: 1.1.0
  5. * ƽ̨: Android (AIWROK)
  6. * ¹¦ÄÜ: ÇŽÓprintÈÕ־ϵͳµ½ÏÖÓÐH5½çÃæ
  7. * ½»Á÷QQȺ: 711841924 (Ⱥһ) / 528816639 (°²×¿ÄÚ²âȺ)
  8. * ============================================
  9. */
  10. // &#127822;½»Á÷QQȺ£º711841924£¨Èº£©
  11. // &#127822;½»Á÷QQȺ£º528816639  £¨°²×¿ÄÚ²âȺ£©
  12. /**
  13. * ÑÓ³Ùº¯Êý (°²×¿»·¾³¼æÈÝ)
  14. * @param {number} ms - ÑÓ³ÙºÁÃëÊý
  15. */
  16. function _sleep(ms) {
  17.     sleep.millisecond(ms);
  18. }

  19. /**
  20. * LogBridge - ÈÕ־ǎӯ÷
  21. * ½«printÈÕ־ϵͳµÄÊä³öÇŽӵ½Ö¸¶¨µÄWebView
  22. */
  23. var LogBridge = {
  24.     webView: null,
  25.     activity: null,
  26.     isReady: false,
  27.     pendingLogs: [],
  28.     maxPendingLogs: 100,
  29.    
  30.     /**
  31.      * ³õʼ»¯ÇŽӯ÷
  32.      * @param {WebView} webView - Ä¿±êWebViewʵÀý
  33.      * @param {Activity} activity - »î¶¯ÊµÀý
  34.      */
  35.     init: function(webView, activity) {
  36.         this.webView = webView;
  37.         this.activity = activity;
  38.         this.isReady = false;
  39.         this.pendingLogs = [];
  40.         
  41.         // ×èÈûµÈ´ýWebView¼ÓÔØÍê³É
  42.         _sleep(800);
  43.         
  44.         this.isReady = true;
  45.         this._flushPendingLogs();
  46.         printl('ÈÕ־ǎӯ÷ÒѾÍÐ÷');
  47.         
  48.         return this;
  49.     },
  50.    
  51.     /**
  52.      * ·¢ËÍÈÕÖ¾µ½H5
  53.      * @param {string} message - ÈÕÖ¾ÏûÏ¢
  54.      * @param {string} level - ÈÕÖ¾¼¶±ð (info/success/warn/error/gold/debug)
  55.      */
  56.     log: function(message, level) {
  57.         level = level || 'info';
  58.         
  59.         // Èç¹û»¹Ã»×¼±¸ºÃ£¬»º´æÈÕÖ¾
  60.         if (!this.isReady || !this.webView) {
  61.             if (this.pendingLogs.length < this.maxPendingLogs) {
  62.                 this.pendingLogs.push({
  63.                     message: message,
  64.                     level: level,
  65.                     time: Date.now()
  66.                 });
  67.             }
  68.             return;
  69.         }
  70.         
  71.         this._sendToWebView(message, level);
  72.     },
  73.    
  74.     /**
  75.      * ˢлº´æµÄÈÕÖ¾
  76.      */
  77.     _flushPendingLogs: function() {
  78.         if (this.pendingLogs.length === 0) return;
  79.         
  80.         printl('ÕýÔÚˢР' + this.pendingLogs.length + ' Ìõ»º´æÈÕÖ¾...');
  81.         
  82.         // ÖðÌõ·¢ËÍ»º´æµÄÈÕÖ¾
  83.         while (this.pendingLogs.length > 0) {
  84.             var log = this.pendingLogs.shift();
  85.             this._sendToWebView(log.message, log.level);
  86.             // СÑÓ³Ù±ÜÃâ×èÈû
  87.             _sleep(10);
  88.         }
  89.     },
  90.    
  91.     /**
  92.      * ʵ¼Ê·¢ËÍÈÕÖ¾µ½WebView
  93.      */
  94.     _sendToWebView: function(message, level) {
  95.         try {
  96.             if (!this.webView) return;
  97.             
  98.             // תÒåÏûÏ¢ÖеÄÌØÊâ×Ö·û
  99.             var escapedMessage = message
  100.                 .replace(/\\/g, '\\\\')
  101.                 .replace(/'/g, "\\'")
  102.                 .replace(/"/g, '\\"')
  103.                 .replace(/\n/g, '\\n')
  104.                 .replace(/\r/g, '\\r')
  105.                 .replace(/\t/g, '\\t');
  106.             
  107.             // ¹¹½¨JavaScript´úÂë
  108.             var js = "if(typeof addLog === 'function') { addLog('" + escapedMessage + "', '" + level + "'); }";
  109.             
  110.             // ±£´æµ±Ç°¶ÔÏóµÄÒýÓÃ
  111.             var self = this;
  112.             
  113.             // ÔÚÖ÷Ïß³ÌÖ´ÐÐWebView²Ù×÷
  114.             if (this.activity && typeof this.activity.runOnUiThread === 'function') {
  115.                 this.activity.runOnUiThread(function() {
  116.                     try {
  117.                         // ³¢ÊÔ¶àÖÖ·½Ê½Ö´ÐÐJavaScript
  118.                         if (typeof self.webView.evaluateJavaScript === 'function') {
  119.                             self.webView.evaluateJavaScript(js);
  120.                         } else if (typeof self.webView.loadUrl === 'function') {
  121.                             var url = 'javascript:' + encodeURIComponent(js);
  122.                             self.webView.loadUrl(url);
  123.                         } else if (typeof self.webView.stringByEvaluatingJavaScriptFromString === 'function') {
  124.                             self.webView.stringByEvaluatingJavaScriptFromString(js);
  125.                         } else {
  126.                             // °²×¿»·¾³Ïµı¸Ó÷½·¨
  127.                             try {
  128.                                 self.webView.injectScript(js);
  129.                             } catch (e) {
  130.                                 printl('WebViewÖ´ÐÐJavaScriptʧ°Ü: ' + e.message);
  131.                             }
  132.                         }
  133.                     } catch (e) {
  134.                         printl('·¢ËÍÈÕ־ʧ°Ü: ' + e.message);
  135.                     }
  136.                 });
  137.             } else {
  138.                 // Èç¹ûûÓÐactivity¶ÔÏó£¬Ö±½ÓÖ´ÐУ¨¿ÉÄÜ»áʧ°Ü£©
  139.                 try {
  140.                     if (typeof this.webView.evaluateJavaScript === 'function') {
  141.                         this.webView.evaluateJavaScript(js);
  142.                     } else if (typeof this.webView.loadUrl === 'function') {
  143.                         var url = 'javascript:' + encodeURIComponent(js);
  144.                         this.webView.loadUrl(url);
  145.                     } else if (typeof this.webView.stringByEvaluatingJavaScriptFromString === 'function') {
  146.                         this.webView.stringByEvaluatingJavaScriptFromString(js);
  147.                     } else {
  148.                         // °²×¿»·¾³Ïµı¸Ó÷½·¨
  149.                         try {
  150.                             this.webView.injectScript(js);
  151.                         } catch (e) {
  152.                             printl('WebViewÖ´ÐÐJavaScriptʧ°Ü: ' + e.message);
  153.                         }
  154.                     }
  155.                 } catch (e) {
  156.                     printl('·¢ËÍÈÕ־ʧ°Ü: ' + e.message);
  157.                 }
  158.             }
  159.         } catch (e) {
  160.             printl('·¢ËÍÈÕ־ʧ°Ü: ' + e.message);
  161.         }
  162.     },
  163.    
  164.     // ¿ì½Ý·½·¨
  165.     info: function(message) { this.log(message, 'info'); },
  166.     success: function(message) { this.log(message, 'success'); },
  167.     warn: function(message) { this.log(message, 'warn'); },
  168.     error: function(message) { this.log(message, 'error'); },
  169.     gold: function(message) { this.log(message, 'gold'); },
  170.     debug: function(message) { this.log(message, 'debug'); }
  171. };

  172. /**
  173. * ÔöÇ¿°æLogManager - ×Ô¶¯ÇŽӵ½H5
  174. */
  175. var LogManagerH5 = {
  176.     logLevel: 'DEBUG',
  177.     enablePrefix: true,
  178.     bridge: null,
  179.    
  180.     ICONS: {
  181.         DEBUG: '[D]',
  182.         INFO: '[I]',
  183.         WARN: '[W]',
  184.         ERROR: '[E]',
  185.         SUCCESS: '[S]',
  186.         GOLD: '[G]'
  187.     },
  188.    
  189.     /**
  190.      * ³õʼ»¯²¢°ó¶¨µ½WebView
  191.      * @param {WebView} webView - H5µÄWebViewʵÀý
  192.      * @param {Activity} activity - »î¶¯ÊµÀý
  193.      */
  194.     init: function(webView, activity) {
  195.         this.bridge = LogBridge;
  196.         this.bridge.init(webView, activity);
  197.         this.info('ÈÕ־ϵͳÒÑÁ¬½Óµ½H5½çÃæ');
  198.         return this;
  199.     },
  200.    
  201.     _formatMessage: function(message, icon) {
  202.         if (this.enablePrefix && icon) {
  203.             return icon + ' ' + message;
  204.         }
  205.         return message;
  206.     },
  207.    
  208.     debug: function(message) {
  209.         if (this.bridge) {
  210.             this.bridge.log(this._formatMessage(message, this.ICONS.DEBUG), 'debug');
  211.         }
  212.         printl(message);
  213.     },
  214.    
  215.     info: function(message) {
  216.         if (this.bridge) {
  217.             this.bridge.log(this._formatMessage(message, this.ICONS.INFO), 'info');
  218.         }
  219.         printl(message);
  220.     },
  221.    
  222.     warn: function(message) {
  223.         if (this.bridge) {
  224.             this.bridge.log(this._formatMessage(message, this.ICONS.WARN), 'warn');
  225.         }
  226.         printl(message);
  227.     },
  228.    
  229.     error: function(message) {
  230.         if (this.bridge) {
  231.             this.bridge.log(this._formatMessage(message, this.ICONS.ERROR), 'error');
  232.         }
  233.         printl(message);
  234.     },
  235.    
  236.     success: function(message) {
  237.         if (this.bridge) {
  238.             this.bridge.log(this._formatMessage(message, this.ICONS.SUCCESS), 'success');
  239.         }
  240.         printl(message);
  241.     },
  242.    
  243.     gold: function(message) {
  244.         if (this.bridge) {
  245.             this.bridge.log(this._formatMessage(message, this.ICONS.GOLD), 'gold');
  246.         }
  247.         printl(message);
  248.     }
  249. };

  250. /**
  251. * ʹÓÃʾÀý:
  252. *
  253. * // ÔÚÄãµÄÖ÷½Å±¾ÖÐ:
  254. * Import("LogBridge.js");
  255. *
  256. * var web = new WebView();
  257. * web.show();
  258. * web.loadFile('h5.html');
  259. *
  260. * // ³õʼ»¯ÈÕÖ¾ÇÅ½Ó (»á×èÈûµÈ´ýWebView¼ÓÔØ)
  261. * LogManagerH5.init(web);
  262. *
  263. * // ÏÖÔÚËùÓÐÈÕÖ¾¶¼»áÊä³öµ½H5½çÃæ
  264. * LogManagerH5.info('ϵͳÆô¶¯');
  265. * LogManagerH5.success('ÈÎÎñÍê³É');
  266. * LogManagerH5.gold('»ñµÃ100½ð±Ò');
  267. */
  268. /**
  269. * ============================================
  270. * &#127822; printÈÕ־ϵͳÍêÕûʾÀý
  271. * ¹¦ÄÜ: ÈÕÖ¾¼Ç¼¡¢µ÷ÊÔÊä³ö¡¢»­Öл­¹ÜÀí
  272. * ½»Á÷QQȺ: 711841924 (Ⱥһ) / 528816639 (Æ»¹ûÄÚ²âȺ)
  273. * ============================================
  274. */
¸´ÖÆ´úÂë


»Ø¸´

ʹÓõÀ¾ß ¾Ù±¨

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

¹Ø±Õ

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

map2

GMT+8, 2026-4-9 11:43 , Processed in 0.266193 second(s), 35 queries .

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