UNPKG

weex-nuke

Version:

基于 Rax 、Weex 的高性能组件体系 ~~

49 lines (43 loc) 1.53 kB
'use strict'; Object.defineProperty(exports, "__esModule", { value: true }); exports.default = bridge; var _nukeEnv = require('nuke-env'); var HYBRID_PROTOCOL = 'qap:'; // qap:///application/request/tmda21db31?query={"event":"itemList","biz":{"itemStatus":"onsale"}} /** * bridge for call h5 page * @return {[type]} [description] */ function generateURL(src) { var parameter = { url: src // appkey:'123123' }; return HYBRID_PROTOCOL + '///' + 'navigator' + '/' + 'push' + '/' + uuid() + '?query=' + encodeURIComponent(JSON.stringify(parameter)); // return 'tbsellerplatform:// ?session_event=event_protocol&apiName=' + event + '&biz=' + encodeURIComponent(JSON.stringify(parameter)); // return url; } function uuid() { return 'xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx'.replace(/[xy]/g, function (c) { var r = Math.random() * 16 | 0; var v = c == 'x' ? r : r & 0x3 | 0x8; return v.toString(16); }); } function bridge(src) { src = generateURL(src); if (_nukeEnv.isQNWeb && _nukeEnv.appInfo && _nukeEnv.appInfo.platform === 'android') { prompt(src); } else if (_nukeEnv.isQNWeb && _nukeEnv.appInfo && _nukeEnv.appInfo.platform === 'iOS') { var iframe = document.createElement('iframe'); iframe.setAttribute('frameborder', 0); iframe.style.cssText = 'display:none'; iframe.src = src; document.body.appendChild(iframe); } else { // do nothing } } module.exports = exports['default'];