UNPKG

t-comm

Version:

专业、稳定、纯粹的工具库

83 lines (79 loc) 2.17 kB
'use strict'; Object.defineProperty(exports, '__esModule', { value: true }); function msdkShareV5(type, dict) { var json = { 1: { method: 'sendMsgWebView', channel: 'WeChat' }, 2: { method: 'shareWebView', channel: 'WeChat' }, 3: { method: 'sendMsgWebView', channel: 'QQ' }, 4: { method: 'shareWebView', channel: 'QQ' } }; var obj = JSON.stringify({ MsdkMethod: json[type].method, actionReport: 'MSG_INVITE', channel: json[type].channel, desc: dict.desc, imagePath: dict.imgUrl || dict.icon, link: dict.url || dict.link, messageExt: 'messageExt', tailLogo: 'WECHAT_SNS_JUMP_APP', thumbPath: dict.imgUrl || dict.icon, title: dict.title, type: 10001, user: '' }); msdkCall(obj); } function connectWebViewJavascriptBridge(callback) { if (window === null || window === void 0 ? void 0 : window.WebViewJavascriptBridge) { callback(window.WebViewJavascriptBridge); } else { document === null || document === void 0 ? void 0 : document.addEventListener('WebViewJavascriptBridgeReady', function () { callback(window.WebViewJavascriptBridge); }, false); } } function isiOS() { var agent = navigator.userAgent; return !!agent.match(/\(i[^;]+;( U;)? CPU.+Mac OS X/); // ios终端 } // 原生方法调用 function msdkCall(data) { var msdkiOSHandler; connectWebViewJavascriptBridge(function (bridge) { bridge.init(function (message, responseCallback) { console.log('JS got a message', message); var data = { 'Javascript Responds': 'Wee!' }; console.log('JS responding with', data); responseCallback(data); }); bridge.registerHandler('msdkNativeCallback', function (data) { var _a; (_a = window.msdkNativeCallback) === null || _a === void 0 ? void 0 : _a.call(window, data); }); msdkiOSHandler = bridge.callHandler; }); if (isiOS()) { msdkiOSHandler('MSDKCall', data, null); } else { if (data.indexOf('nativeCallJS') > -1) { alert(data); } else { prompt(data); } } } exports.msdkShareV5 = msdkShareV5;