UNPKG

t-comm

Version:

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

216 lines (211 loc) 6.63 kB
'use strict'; 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;