t-comm
Version:
专业、稳定、纯粹的工具库
265 lines (260 loc) • 9.55 kB
JavaScript
;
Object.defineProperty(exports, '__esModule', { value: true });
var tslib_es6 = require('../../tslib.es6-01322ba9.js');
var domToImage_domToImage = require('../../dom-to-image/dom-to-image.js');
var env_env = require('../../env/env.js');
var msdk_msdk = require('../../msdk/msdk.js');
var share_config = require('../config.js');
var share_helper = require('../helper.js');
var share_env_shareMsdkV5 = require('./share-msdk-v5.js');
require('../../loader/loader.js');
require('../../loader/little-loader.js');
require('@babel/runtime/helpers/typeof');
require('../../dialog/custom-dialog.js');
require('../../dom/dom.js');
function shareInMSDK(param) {
if (typeof window.msdkShare === 'undefined') {
msdk_msdk.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') {
msdk_msdk.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 ? share_config.DEFAULT_SHOW_TYPE_IN_GAME : _b;
share_helper.initCommShareUI('msdkShareDelegate', showTypeInGame);
share_config.ShareConfig.setShareUI({
openShareUI: function openShareUI() {
share_helper.showCommShareUI();
}
});
var env = env_env.initEnv();
if (env.isMsdkV5) {
window.msdkShareDelegate = function (type) {
if (type === 1) {
openWeixinOpenLink({
failedCallback: function failedCallback() {
share_env_shareMsdkV5.msdkShareV5(type, shareObject);
},
getMiniProgramOpenLink: getMiniProgramOpenLink
});
return;
}
try {
share_env_shareMsdkV5.msdkShareV5(type, shareObject);
} catch (err) {
console.log('err', err);
}
};
return;
}
/*
type:1(微信),2(朋友圈),3(QQ),4(QQ 空间)
*/
window.msdkShareDelegate = function (shareType) {
var _a;
return tslib_es6.__awaiter(this, void 0, void 0, function () {
var type, imgData, imageDataSize, title, desc, typeMap, param;
var _b;
return tslib_es6.__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*/, domToImage_domToImage.urlToBase64(shareObject.icon)];
case 1:
imgData = _c.sent();
imageDataSize = +share_helper.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_config.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_config.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_config.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_config.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(tslib_es6.__assign(tslib_es6.__assign({}, value), {
imgUrl: shareObject.icon
}));
});
// msdk分享图片,android图片大小不能超过10k
}
if (typeof typeMap[type] === 'undefined') {
return [2 /*return*/, false];
}
param = typeMap[type];
if (type === share_config.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 ? share_config.DEFAULT_SHOW_TYPE_IN_GAME : _b;
share_helper.initCommShareUI('slugSDKShareDelegate', showTypeInGame);
share_config.ShareConfig.setShareUI({
openShareUI: function openShareUI() {
share_helper.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_config.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_config.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_config.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_config.SHARE_TYPE_MAP.QQ_ZONE:
shareInSlugSDK({
funcName: 'sendToQQ',
scene: 1,
title: shareObject.title,
desc: shareObject.desc,
url: shareObject.link,
imgUrl: shareObject.icon
});
break;
}
};
}
exports.initInGameShare = initInGameShare;
exports.initMsdkShare = initMsdkShare;