UNPKG

t-comm

Version:

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

260 lines (257 loc) 9.17 kB
import { b as __awaiter, c as __generator, _ as __assign } from '../../tslib.es6-096fffdd.js'; import { urlToBase64 } from '../../dom-to-image/dom-to-image.mjs'; import { initEnv } from '../../env/env.mjs'; import { callJsBrowserAdapter } from '../../msdk/msdk.mjs'; import { ShareConfig, SHARE_TYPE_MAP, DEFAULT_SHOW_TYPE_IN_GAME } from '../config.mjs'; import { initCommShareUI, showCommShareUI, calBase64Size } from '../helper.mjs'; import { msdkShareV5 } from './share-msdk-v5.mjs'; import '../../loader/loader.mjs'; import '../../loader/little-loader.mjs'; import '@babel/runtime/helpers/typeof'; import '../../dialog/custom-dialog.mjs'; import '../../dom/dom.mjs'; function shareInMSDK(param) { if (typeof window.msdkShare === 'undefined') { callJsBrowserAdapter().then(function () { window.msdkShare(param); }); } else { window.msdkShare(param); } } function shareInSlugSDK(_a) { var _b, _c; var funcName = _a.funcName, scene = _a.scene, title = _a.title, desc = _a.desc, url = _a.url, imgUrl = _a.imgUrl; if (typeof window.msdkShare === 'undefined') { callJsBrowserAdapter().then(function () { var _a, _b; (_b = (_a = window.customBrowserInterface) === null || _a === void 0 ? void 0 : _a[funcName]) === null || _b === void 0 ? void 0 : _b.call(_a, scene, title, desc, url, imgUrl); }); } else { (_c = (_b = window.customBrowserInterface) === null || _b === void 0 ? void 0 : _b[funcName]) === null || _c === void 0 ? void 0 : _c.call(_b, scene, title, desc, url, imgUrl); } } function openWeixinOpenLink(_a) { var failedCallback = _a.failedCallback, getMiniProgramOpenLink = _a.getMiniProgramOpenLink; if (typeof getMiniProgramOpenLink === 'undefined') { failedCallback === null || failedCallback === void 0 ? void 0 : failedCallback(); return; } getMiniProgramOpenLink().then(function (response) { if (response === null || response === void 0 ? void 0 : response.open_link) { window.location.href = response.open_link; } else { failedCallback === null || failedCallback === void 0 ? void 0 : failedCallback(); } })["catch"](function () { failedCallback === null || failedCallback === void 0 ? void 0 : failedCallback(); }); } function initMsdkShare(_a) { var getMiniProgramOpenLink = _a.getMiniProgramOpenLink, shareObject = _a.shareObject; var _b = shareObject.showTypeInGame, showTypeInGame = _b === void 0 ? DEFAULT_SHOW_TYPE_IN_GAME : _b; initCommShareUI('msdkShareDelegate', showTypeInGame); ShareConfig.setShareUI({ openShareUI: function openShareUI() { showCommShareUI(); } }); var env = initEnv(); if (env.isMsdkV5) { window.msdkShareDelegate = function (type) { if (type === 1) { openWeixinOpenLink({ failedCallback: function failedCallback() { msdkShareV5(type, shareObject); }, getMiniProgramOpenLink: getMiniProgramOpenLink }); return; } try { msdkShareV5(type, shareObject); } catch (err) { console.log('err', err); } }; return; } /* type:1(微信),2(朋友圈),3(QQ),4(QQ 空间) */ window.msdkShareDelegate = function (shareType) { var _a; return __awaiter(this, void 0, void 0, function () { var type, imgData, imageDataSize, title, desc, typeMap, param; var _b; return __generator(this, function (_c) { switch (_c.label) { case 0: (_a = shareObject.callback) === null || _a === void 0 ? void 0 : _a.call(shareObject); type = shareType || 0; return [4 /*yield*/, urlToBase64(shareObject.icon)]; case 1: imgData = _c.sent(); imageDataSize = +calBase64Size(imgData); console.log('msdkShareDelegate imageDataSize : ', imageDataSize); title = shareObject.title.replace(/\n|\r|"|\\/g, ''); desc = shareObject.desc.replace(/\n|\r|"|\\/g, ''); typeMap = (_b = {}, _b[SHARE_TYPE_MAP.WX_FRIENDS] = { MsdkMethod: 'WGSendToWeiXinWithUrl', scene: '0', title: title, desc: desc, url: shareObject.link, mediaTagName: 'MSG_INVITE', messageExt: 'title' }, // `{"MsdkMethod":"WGSendToWeiXinWithUrl","scene":"0","title":"${title}","desc":"${desc}", // "imgData":"${imgData}","url":"${shareObject.link}","mediaTagName":"MSG_INVITE","messageExt":"${title}"}`, _b[SHARE_TYPE_MAP.WX_TIMELINE] = { MsdkMethod: 'WGSendToWeiXinWithUrl', scene: '1', title: title, desc: desc, url: shareObject.link, mediaTagName: 'MSG_INVITE', messageExt: 'title' }, // `{"MsdkMethod":"WGSendToWeiXinWithUrl","scene":"1","title":"${title}","desc":"${desc}", // "imgData":"${imgData}","url":"${shareObject.link}","mediaTagName":"MSG_INVITE","messageExt":"${title}"}`, _b[SHARE_TYPE_MAP.QQ_FRIENDS] = { MsdkMethod: 'WGSendToQQ', scene: '2', title: title, desc: desc, url: shareObject.link }, // `{"MsdkMethod":"WGSendToQQ","scene":"2","title":"${title}","desc":"${desc}", // "imgData":"${imgData}","url":"${shareObject.link}"}`, _b[SHARE_TYPE_MAP.QQ_ZONE] = { MsdkMethod: 'WGSendToQQ', scene: '1', title: title, desc: desc, url: shareObject.link }, _b); { Object.keys(typeMap).forEach(function (key) { var value = typeMap[key]; typeMap[key] = JSON.stringify(__assign(__assign({}, value), { imgUrl: shareObject.icon })); }); // msdk分享图片,android图片大小不能超过10k } if (typeof typeMap[type] === 'undefined') { return [2 /*return*/, false]; } param = typeMap[type]; if (type === SHARE_TYPE_MAP.WX_FRIENDS && getMiniProgramOpenLink) { openWeixinOpenLink({ failedCallback: function failedCallback() { shareInMSDK(param); }, getMiniProgramOpenLink: getMiniProgramOpenLink }); } else { try { shareInMSDK(param); } catch (e) { console.log('e', e); throw e; } } return [2 /*return*/]; } }); }); }; } function initInGameShare(_a) { var shareObject = _a.shareObject, getMiniProgramOpenLink = _a.getMiniProgramOpenLink; var _b = shareObject.showTypeInGame, showTypeInGame = _b === void 0 ? DEFAULT_SHOW_TYPE_IN_GAME : _b; initCommShareUI('slugSDKShareDelegate', showTypeInGame); ShareConfig.setShareUI({ openShareUI: function openShareUI() { showCommShareUI(); } }); /** * type:1(微信),2(朋友圈),3(QQ),4(QQ 空间) */ // @ts-ignore window.slugSDKShareDelegate = function (type) { var _a; (_a = shareObject.callback) === null || _a === void 0 ? void 0 : _a.call(shareObject); switch (type) { case SHARE_TYPE_MAP.WX_FRIENDS: if (getMiniProgramOpenLink) { openWeixinOpenLink({ failedCallback: function failedCallback() { shareInSlugSDK({ funcName: 'sendToWeixinWithUrl', scene: 2, title: shareObject.title, desc: shareObject.desc, url: shareObject.link, imgUrl: shareObject.icon }); }, getMiniProgramOpenLink: getMiniProgramOpenLink }); } else { shareInSlugSDK({ funcName: 'sendToWeixinWithUrl', scene: 2, title: shareObject.title, desc: shareObject.desc, url: shareObject.link, imgUrl: shareObject.icon }); } break; case SHARE_TYPE_MAP.WX_TIMELINE: shareInSlugSDK({ funcName: 'sendToWeixinWithUrl', scene: 1, title: shareObject.title, desc: shareObject.desc, url: shareObject.link, imgUrl: shareObject.icon }); break; case SHARE_TYPE_MAP.QQ_FRIENDS: shareInSlugSDK({ funcName: 'sendToQQ', scene: 2, title: shareObject.title, desc: shareObject.desc, url: shareObject.link, imgUrl: shareObject.icon }); break; case SHARE_TYPE_MAP.QQ_ZONE: shareInSlugSDK({ funcName: 'sendToQQ', scene: 1, title: shareObject.title, desc: shareObject.desc, url: shareObject.link, imgUrl: shareObject.icon }); break; } }; } export { initInGameShare, initMsdkShare };