UNPKG

t-comm

Version:

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

160 lines (155 loc) 5.63 kB
'use strict'; 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;