t-comm
Version:
专业、稳定、纯粹的工具库
83 lines (79 loc) • 2.17 kB
JavaScript
;
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;