B2BÍøÂçÈí¼þ

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

AIWROKÆ»¹ûϵͳ´òÓ¡H5½çÃæÈÕÖ¾Êä³ö

[¸´ÖÆÁ´½Ó]

1055

Ö÷Ìâ

1060

Ìû×Ó

7497

»ý·Ö

abc

Rank: 9Rank: 9Rank: 9

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

AIWROKÆ»¹ûϵͳ´òÓ¡H5½çÃæÈÕÖ¾Êä³ö


AIWROKÆ»¹ûϵͳ´òÓ¡H5½çÃæÈÕÖ¾Êä³ö B2BÍøÂçÈí¼þ

  1. /**
  2. * ============================================
  3. * ÈÕ־ǎӯ÷ - ½«printÈÕÖ¾Êä³öµ½H5½çÃæ
  4. * °æ±¾: 1.1.0
  5. * ƽ̨: iOS (AIWROK)
  6. * ¹¦ÄÜ: ÇŽÓprintÈÕ־ϵͳµ½ÏÖÓÐH5½çÃæ
  7. * ½»Á÷QQȺ: 711841924 (Ⱥһ) / 528816639 (Æ»¹ûÄÚ²âȺ)
  8. * ============================================
  9. */
  10. // 🍎½»Á÷QQȺ£º711841924£¨Èº£©
  11. // 🍎½»Á÷QQȺ£º528816639  £¨Æ»¹ûÄÚ²âȺ£©
  12. /**
  13. * ×èÈûʽÑÓ³Ùº¯Êý (RhinoÒýÇæ¼æÈÝ)
  14. * @param {number} ms - ÑÓ³ÙºÁÃëÊý
  15. */
  16. function _sleep(ms) {
  17.     var start = Date.now();
  18.     while (Date.now() - start < ms) {
  19.         // ×èÈûµÈ´ý
  20.     }
  21. }

  22. /**
  23. * LogBridge - ÈÕ־ǎӯ÷
  24. * ½«printÈÕ־ϵͳµÄÊä³öÇŽӵ½Ö¸¶¨µÄWebView
  25. */
  26. var LogBridge = {
  27.     webView: null,
  28.     isReady: false,
  29.     pendingLogs: [],
  30.     maxPendingLogs: 100,
  31.    
  32.     /**
  33.      * ³õʼ»¯ÇŽӯ÷
  34.      * @param {WebView} webView - Ä¿±êWebViewʵÀý
  35.      */
  36.     init: function(webView) {
  37.         this.webView = webView;
  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.             // ³¢ÊÔ¶àÖÖ·½Ê½Ö´ÐÐJavaScript
  111.             if (typeof this.webView.evaluateJavaScript === 'function') {
  112.                 this.webView.evaluateJavaScript(js);
  113.             } else if (typeof this.webView.loadUrl === 'function') {
  114.                 var url = 'javascript:' + encodeURIComponent(js);
  115.                 this.webView.loadUrl(url);
  116.             } else if (typeof this.webView.stringByEvaluatingJavaScriptFromString === 'function') {
  117.                 this.webView.stringByEvaluatingJavaScriptFromString(js);
  118.             }
  119.         } catch (e) {
  120.             printl('·¢ËÍÈÕ־ʧ°Ü: ' + e.message);
  121.         }
  122.     },
  123.    
  124.     // ¿ì½Ý·½·¨
  125.     info: function(message) { this.log(message, 'info'); },
  126.     success: function(message) { this.log(message, 'success'); },
  127.     warn: function(message) { this.log(message, 'warn'); },
  128.     error: function(message) { this.log(message, 'error'); },
  129.     gold: function(message) { this.log(message, 'gold'); },
  130.     debug: function(message) { this.log(message, 'debug'); }
  131. };

  132. /**
  133. * ÔöÇ¿°æLogManager - ×Ô¶¯ÇŽӵ½H5
  134. */
  135. var LogManagerH5 = {
  136.     logLevel: 'DEBUG',
  137.     enablePrefix: true,
  138.     bridge: null,
  139.    
  140.     ICONS: {
  141.         DEBUG: '[D]',
  142.         INFO: '[I]',
  143.         WARN: '[W]',
  144.         ERROR: '[E]',
  145.         SUCCESS: '[S]',
  146.         GOLD: '[G]'
  147.     },
  148.    
  149.     /**
  150.      * ³õʼ»¯²¢°ó¶¨µ½WebView
  151.      * @param {WebView} webView - H5µÄWebViewʵÀý
  152.      */
  153.     init: function(webView) {
  154.         this.bridge = LogBridge;
  155.         this.bridge.init(webView);
  156.         this.info('ÈÕ־ϵͳÒÑÁ¬½Óµ½H5½çÃæ');
  157.         return this;
  158.     },
  159.    
  160.     _formatMessage: function(message, icon) {
  161.         if (this.enablePrefix && icon) {
  162.             return icon + ' ' + message;
  163.         }
  164.         return message;
  165.     },
  166.    
  167.     debug: function(message) {
  168.         if (this.bridge) {
  169.             this.bridge.log(this._formatMessage(message, this.ICONS.DEBUG), 'debug');
  170.         }
  171.         printl(message);
  172.     },
  173.    
  174.     info: function(message) {
  175.         if (this.bridge) {
  176.             this.bridge.log(this._formatMessage(message, this.ICONS.INFO), 'info');
  177.         }
  178.         print.log(message);
  179.     },
  180.    
  181.     warn: function(message) {
  182.         if (this.bridge) {
  183.             this.bridge.log(this._formatMessage(message, this.ICONS.WARN), 'warn');
  184.         }
  185.         print.warn(message);
  186.     },
  187.    
  188.     error: function(message) {
  189.         if (this.bridge) {
  190.             this.bridge.log(this._formatMessage(message, this.ICONS.ERROR), 'error');
  191.         }
  192.         print.warn(message);
  193.     },
  194.    
  195.     success: function(message) {
  196.         if (this.bridge) {
  197.             this.bridge.log(this._formatMessage(message, this.ICONS.SUCCESS), 'success');
  198.         }
  199.         print.log(message);
  200.     },
  201.    
  202.     gold: function(message) {
  203.         if (this.bridge) {
  204.             this.bridge.log(this._formatMessage(message, this.ICONS.GOLD), 'gold');
  205.         }
  206.         print.log(message);
  207.     }
  208. };

  209. /**
  210. * ʹÓÃʾÀý:
  211. *
  212. * // ÔÚÄãµÄÖ÷½Å±¾ÖÐ:
  213. * Import("LogBridge.js");
  214. *
  215. * var web = new WebView();
  216. * web.show();
  217. * web.loadFile('h5.html');
  218. *
  219. * // ³õʼ»¯ÈÕÖ¾ÇÅ½Ó (»á×èÈûµÈ´ýWebView¼ÓÔØ)
  220. * LogManagerH5.init(web);
  221. *
  222. * // ÏÖÔÚËùÓÐÈÕÖ¾¶¼»áÊä³öµ½H5½çÃæ
  223. * LogManagerH5.info('ϵͳÆô¶¯');
  224. * LogManagerH5.success('ÈÎÎñÍê³É');
  225. * LogManagerH5.gold('»ñµÃ100½ð±Ò');
  226. */
  227. /**
  228. * ============================================
  229. * &#127822; printÈÕ־ϵͳÍêÕûʾÀý
  230. * ¹¦ÄÜ: ÈÕÖ¾¼Ç¼¡¢µ÷ÊÔÊä³ö¡¢»­Öл­¹ÜÀí
  231. * ½»Á÷QQȺ: 711841924 (Ⱥһ) / 528816639 (Æ»¹ûÄÚ²âȺ)
  232. * ============================================
  233. */
¸´ÖÆ´úÂë


Æ»¹ûH5½çÃæ.zip (19.43 KB, ÏÂÔØ´ÎÊý: 0)

AIWROKÆ»¹ûϵͳ´òÓ¡H5½çÃæÈÕÖ¾Êä³ö B2BÍøÂçÈí¼þ
»Ø¸´

ʹÓõÀ¾ß ¾Ù±¨

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

¹Ø±Õ

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

map2

GMT+8, 2026-3-10 08:34 , Processed in 0.098081 second(s), 33 queries .

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