t-comm
Version:
专业、稳定、纯粹的工具库
160 lines (155 loc) • 5.63 kB
JavaScript
;
Object.defineProperty(exports, '__esModule', { value: true });
var tslib_es6 = require('../tslib.es6-01322ba9.js');
var env_env = require('../env/env.js');
var launchApp_config = require('../launch-app/config.js');
var loader_littleLoader = require('../loader/little-loader.js');
var msdk_msdk = require('../msdk/msdk.js');
var url_url = require('../url/url.js');
require('@babel/runtime/helpers/typeof');
var _a;
var LAUNCH_GP_SOURCE_MAP = {
NORMAL: 6,
SUBWAY_MODE: 7
};
var GAME_SCHEME_PREFIX_MAP = {
GP: 'pubgmhd1106467070://?',
GP_IN_HELPER: 'wxc4c0253df149f02d://?',
GP_TRIAL: 'pubgmhd1107050784://?',
GN: 'gnyx1110329808://?type=Contest&',
MJ: 'happymjscheme://matchFrom=1?'
};
var DEFAULT_WX_JS_SDK = 'https://res.wx.qq.com/open/js/jweixin-1.4.0.js';
var gidAppIdMap = (_a = {}, _a[launchApp_config.GAME_MAP.HLDDZ.GID] = 'wx76fc280041c16519', _a[launchApp_config.GAME_MAP.MJ.GID] = 'wx3bef52104e238bff', _a[launchApp_config.GAME_MAP.NARUTO.GID] = 'wx82dd7436af5db835', _a[launchApp_config.GAME_MAP.GP.GID] = 'wxc4c0253df149f02d', _a);
function getWxGameCircleUrl(gid) {
var appId = gidAppIdMap[gid];
return " https://game.weixin.qq.com/cgi-bin/h5/static/gamecenter/detail.html?appid=".concat(appId, "&ssid=39&autoinstall=1&type=1#wechat_redirect");
}
function getGPSchemeParam(roomId, roomPwd, options) {
var time = Math.floor(new Date().getTime() / 60000);
var schemeParam = "rmid:".concat(roomId, ",rmpw:").concat(roomPwd, ",t:").concat(time);
if (options === null || options === void 0 ? void 0 : options.source) {
schemeParam += ",source:".concat((options === null || options === void 0 ? void 0 : options.source) || '');
}
return schemeParam;
}
function getQRcodeUrl(launchParams) {
var qrCodeUrl = url_url.composeUrlQuery(window.location.href, tslib_es6.__assign({
enterGame: true
}, launchParams || {}));
return qrCodeUrl;
}
function launchInWX(_a) {
var wxJSLink = _a.wxJSLink,
schemeUrl = _a.schemeUrl,
schemeParam = _a.schemeParam,
_b = _a.launchParams,
launchParams = _b === void 0 ? {} : _b,
context = _a.context,
qrCodeLib = _a.qrCodeLib,
dialogHandler = _a.dialogHandler,
otherDialogParams = _a.otherDialogParams,
resolve = _a.resolve,
reject = _a.reject;
loader_littleLoader.loader(wxJSLink, function () {
window.WeixinJSBridge.invoke('launchApplication', {
schemeUrl: schemeUrl,
extInfo: schemeParam,
parameter: schemeParam
}, function (res) {
console.info('[launchCore wx] res: ', res);
if (res.err_msg.indexOf('ok') === -1) {
if ((res.err_msg.indexOf('permission') > -1 || res.err_msg.indexOf('access_denied') > -1) && qrCodeLib && dialogHandler) {
showQRcode({
launchParams: launchParams,
context: context,
qrCodeLib: qrCodeLib,
dialogHandler: dialogHandler,
otherDialogParams: otherDialogParams
});
} else {
reject(res);
}
} else {
resolve(res);
}
});
});
}
function showQRcode(_a) {
var launchParams = _a.launchParams,
context = _a.context,
qrCodeLib = _a.qrCodeLib,
// qrcode npm library
dialogHandler = _a.dialogHandler,
_b = _a.otherDialogParams,
otherDialogParams = _b === void 0 ? {} : _b;
var qrCodeUrl = getQRcodeUrl(launchParams || {});
console.info('[showQRcode] url', qrCodeUrl);
if (!dialogHandler || !qrCodeLib) return;
qrCodeLib.toDataURL(qrCodeUrl).then(function (url) {
dialogHandler.show(tslib_es6.__assign({
context: context,
title: '提示',
content: '请长按二维码再次打开链接并进入比赛',
confirmText: '关闭',
cancelText: '',
src: url
}, otherDialogParams || {}));
console.info(url);
})["catch"](function (err) {
console.error(err);
});
}
function launchCore(_a) {
// const time = Math.floor(new Date().getTime() / 60000);
var _b = _a.launchParams,
launchParams = _b === void 0 ? {} : _b,
schemeParam = _a.schemeParam,
context = _a.context,
qrCodeLib = _a.qrCodeLib,
dialogHandler = _a.dialogHandler,
otherDialogParams = _a.otherDialogParams,
_c = _a.schemePrefix,
schemePrefix = _c === void 0 ? '' : _c,
_d = _a.wxJSLink,
wxJSLink = _d === void 0 ? 'https://res.wx.qq.com/open/js/jweixin-1.4.0.js' : _d,
_e = _a.env,
env = _e === void 0 ? env_env.initEnv() : _e;
// const schemeParam = `rmid:${roomId},rmpw:${roomPwd},t:${time}`;
var schemeUrl = "".concat(schemePrefix).concat(schemeParam);
console.info('[launchCore schemeUrl]', schemeUrl);
return new Promise(function (resolve, reject) {
if (env.isWeixin) {
launchInWX({
wxJSLink: wxJSLink,
schemeUrl: schemeUrl,
schemeParam: schemeParam,
launchParams: launchParams,
context: context,
qrCodeLib: qrCodeLib,
dialogHandler: dialogHandler,
otherDialogParams: otherDialogParams,
resolve: resolve,
reject: reject
});
return;
}
if (env.isInGame) {
window.location.href = schemeUrl;
setTimeout(function () {
msdk_msdk.closeMsdkWebview(env);
}, 1000);
return;
}
window.location.href = schemeUrl;
resolve(1);
});
}
exports.DEFAULT_WX_JS_SDK = DEFAULT_WX_JS_SDK;
exports.GAME_SCHEME_PREFIX_MAP = GAME_SCHEME_PREFIX_MAP;
exports.LAUNCH_GP_SOURCE_MAP = LAUNCH_GP_SOURCE_MAP;
exports.getGPSchemeParam = getGPSchemeParam;
exports.getWxGameCircleUrl = getWxGameCircleUrl;
exports.launchCore = launchCore;
exports.launchInWX = launchInWX;