t-comm
Version:
专业、稳定、纯粹的工具库
216 lines (211 loc) • 6.63 kB
JavaScript
;
Object.defineProperty(exports, '__esModule', { value: true });
var dialog_customDialog = require('../../dialog/custom-dialog.js');
var env_env = require('../../env/env.js');
var share_config = require('../config.js');
var share_helper = require('../helper.js');
var share_env_shareApp = require('./share-app.js');
var share_env_shareIm = require('./share-im.js');
var share_env_shareInGame = require('./share-in-game.js');
var url_removeUrlParams = require('../../url/remove-url-params.js');
require('../../dom/dom.js');
require('../../tslib.es6-01322ba9.js');
require('../../loader/loader.js');
require('../../loader/little-loader.js');
require('../../wx/config.js');
require('../../wx/wx-config.js');
require('../../dom-to-image/dom-to-image.js');
require('../../msdk/msdk.js');
require('@babel/runtime/helpers/typeof');
require('./share-msdk-v5.js');
require('../../url/format-url-params.js');
require('../../url/resolve-url-params.js');
function initShare(params) {
var _a, _b, _c;
if (params === void 0) {
params = {
getWxSignaturePromise: function getWxSignaturePromise() {
return Promise.resolve({});
},
getMiniProgramOpenLink: function getMiniProgramOpenLink() {
return Promise.resolve({});
}
};
}
var obj = params;
obj.title = obj.title || ((_b = (_a = document.getElementsByTagName('title')) === null || _a === void 0 ? void 0 : _a[0]) === null || _b === void 0 ? void 0 : _b.innerText);
obj.desc = obj.desc || obj.title;
obj.icon = obj.icon || share_config.DEFAULT_SHARE_ICON;
obj.type = obj.type || null;
obj.path = obj.path || null;
obj.forceHistoryMode = obj.forceHistoryMode || null;
if (!((_c = obj.showTypeInGame) === null || _c === void 0 ? void 0 : _c.length)) {
obj.showTypeInGame = share_config.DEFAULT_SHOW_TYPE_IN_GAME;
}
// 分享链接:移除 reporttk 参数
var link = obj.link || window.location.href;
obj.link = url_removeUrlParams.removeUrlParams(link, ['reporttk']);
obj.wzydShareText = obj.wzydShareText || '点击“...”分享链接';
share_config.ShareConfig.setShareObject(obj);
var _d = obj.getWxSignaturePromise,
getWxSignaturePromise = _d === void 0 ? function () {
return Promise.resolve({});
} : _d,
_e = obj.getMiniProgramOpenLink,
getMiniProgramOpenLink = _e === void 0 ? function () {
return Promise.resolve({});
} : _e;
var shareObject = share_config.ShareConfig.shareObject;
// 提到函数中,方便测试
var env = env_env.initEnv();
var callbackList = [{
condition: env.isMsdk,
callback: function callback() {
share_env_shareInGame.initMsdkShare({
getMiniProgramOpenLink: getMiniProgramOpenLink,
shareObject: shareObject
});
}
}, {
condition: env.isGHelper,
callback: function callback() {
share_env_shareApp.initGHelperShare({
shareObject: shareObject
});
}
}, {
condition: env.isQQ,
callback: function callback() {
share_env_shareIm.initQQShare({
shareObject: shareObject
});
}
}, {
condition: env.isMiniProgram,
callback: function callback() {
share_env_shareIm.initMiniProgramShare({
shareObject: shareObject
});
}
}, {
condition: env.isWeixin,
callback: function callback() {
share_env_shareIm.initWeixinShare({
shareObject: shareObject,
getWxSignaturePromise: getWxSignaturePromise
});
}
}, {
condition: env.isPvpApp,
callback: function callback() {
share_env_shareApp.initPvpShare({
shareObject: shareObject
});
}
}, {
condition: env.isTipApp,
callback: function callback() {
share_env_shareApp.initTipShare({
shareObject: shareObject
});
}
}, {
condition: env.isSlugSdk,
callback: function callback() {
share_env_shareInGame.initInGameShare({
shareObject: shareObject,
getMiniProgramOpenLink: getMiniProgramOpenLink
});
}
}];
for (var _i = 0, callbackList_1 = callbackList; _i < callbackList_1.length; _i++) {
var item = callbackList_1[_i];
if (item.condition) {
item.callback();
break;
}
}
// if (env.isMsdk) {
// initMsdkShare({
// getMiniProgramOpenLink,
// appId,
// shareObject,
// });
// } else if (env.isGHelper) {
// initGHelperShare({
// shareObject,
// });
// } else if (env.isQQ) {
// initQQShare({
// shareObject,
// });
// } else if (env.isMiniProgram) {
// initMiniProgramShare({
// shareObject,
// });
// } else if (env.isWeixin) {
// initWeixinShare({
// shareObject,
// getWxSignaturePromise,
// });
// } else if (env.isSlugSdk) {
// initInGameShare({
// shareObject,
// getMiniProgramOpenLink,
// appId,
// });
// }
}
function showWindowNavigatorShareDialog() {
var _a;
var shareObject = share_config.ShareConfig.shareObject;
if (typeof ((_a = window === null || window === void 0 ? void 0 : window.navigator) === null || _a === void 0 ? void 0 : _a.share) === 'function') {
window.navigator.share({
url: shareObject.link,
text: shareObject.title,
title: shareObject.title
}).then(function () {
console.log('NavigatorShare success');
})["catch"](function () {
console.log('NavigatorShare fail');
});
} else {
dialog_customDialog.initCustomDialog({
title: '温馨提示',
content: '请复制链接到微信或手机QQ内打开参与活动',
confirmText: '我知道了'
});
dialog_customDialog.showCustomDialog();
}
}
/**
* 打开自定义的分享UI组件
*/
function openShareUI() {
var _a;
var shareUiObj = share_config.ShareConfig.shareUiObj;
var env = env_env.initEnv();
if (env.isInGame || env.isGHelper) {
(_a = shareUiObj === null || shareUiObj === void 0 ? void 0 : shareUiObj.openShareUI) === null || _a === void 0 ? void 0 : _a.call(shareUiObj);
} else if (env.isQQ || env.isWeixin) {
share_helper.showCommShareTip();
} else {
showWindowNavigatorShareDialog();
}
}
function hideShareBtn() {
var env = env_env.initEnv();
if (env.isQQ) {
// 手Q
share_env_shareIm.hideQQShareBtn();
} else if (env.isMiniProgram) ; else if (env.isWeixin) {
// 微信 webview 环境
share_env_shareIm.hideWeixinShareBtn();
} else if (env.isPvpApp) {
// 王者人生 App
share_env_shareApp.hidePvpShareBtn();
}
}
exports.hideShareBtn = hideShareBtn;
exports.initShare = initShare;
exports.openShareUI = openShareUI;