UNPKG

t-comm

Version:

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

140 lines (135 loc) 4.51 kB
'use strict'; Object.defineProperty(exports, '__esModule', { value: true }); var env_env = require('../env/env.js'); var launchApp_config = require('../launch-app/config.js'); var url_url = require('../url/url.js'); var launchGame_helper = require('./helper.js'); require('@babel/runtime/helpers/typeof'); require('../tslib.es6-01322ba9.js'); require('../loader/little-loader.js'); require('../msdk/msdk.js'); function ddzScheme(_a) { var gameId = _a.gameId, seriesId = _a.seriesId, uin = _a.uin, env = _a.env; var schemeHost = env.isIOS ? 'wx76fc280041c16519' : 'qqgame.hlddz.scheme'; var gameUrl = 'https://hlddz.huanle.qq.com/web/play.html?ADTAG=changshangsai&LoginType=Both&DefaultLoginType=WeChat&ParamType=OfflineMatch'; if (gameId || seriesId) { gameUrl += "&SeriesID=".concat(seriesId, "&GameID=").concat(gameId); } var schemeParam = "a=1&Operation=OfflineMatch&SeriesID=".concat(seriesId, "&GameID=").concat(gameId); if (uin) { gameUrl += "&uin=".concat(uin); schemeParam += "&uin=".concat(uin); } var schemeUrl = "".concat(schemeHost, "://startapp?").concat(schemeParam); return { schemeUrl: schemeUrl, schemeParam: schemeParam, gameUrl: gameUrl }; } /** * 拉起 DDZ * @param {object} params 拉起参数 * @param {string} params.seriesId series id * @param {string} params.gameId game id * @param {string} params.uin uin * @param {object} [params.context] 上下文,可传入组件实例 this * @param {object} [params.qrCodeLib] qrcode * @param {object} [params.dialogHandler] 弹窗 handler * @param {object} [params.otherDialogParams] 弹窗的其他参数 * @param {string} [params.wxJSLink] wx js link * @param {object} [params.env] 环境对象 * @returns Promise<boolean | number> * * @example * ```ts * launchDDZGameRoom({ * seriesId: '12', * gameId: '123', * uin: '222', * }) * ``` */ var launchDDZGameRoom = function launchDDZGameRoom(_a) { var _b = _a.seriesId, seriesId = _b === void 0 ? '' : _b, _c = _a.gameId, gameId = _c === void 0 ? '' : _c, _d = _a.uin, uin = _d === void 0 ? '' : _d, context = _a.context, qrCodeLib = _a.qrCodeLib, dialogHandler = _a.dialogHandler, otherDialogParams = _a.otherDialogParams, _e = _a.wxJSLink, wxJSLink = _e === void 0 ? 'https://res2.wx.qq.com/open/js/jweixin-1.6.0.js' : _e, _f = _a.env, env = _f === void 0 ? env_env.initEnv() : _f; var _g = ddzScheme({ gameId: gameId, seriesId: seriesId, uin: uin, env: env }), schemeUrl = _g.schemeUrl, schemeParam = _g.schemeParam, gameUrl = _g.gameUrl; console.info('[launchDDZGameRoom] schemeUrl: ', schemeUrl); console.info('[launchDDZGameRoom] env: ', env); return new Promise(function (resolve, _reject) { if (env.isWeixin) { launchGame_helper.launchInWX({ wxJSLink: wxJSLink, schemeUrl: schemeUrl, schemeParam: schemeParam, launchParams: { gameId: gameId, seriesId: seriesId, uin: uin }, context: context, qrCodeLib: qrCodeLib, dialogHandler: dialogHandler, otherDialogParams: otherDialogParams, resolve: resolve, reject: function reject() { _reject(); window.location.href = launchGame_helper.getWxGameCircleUrl(launchApp_config.GAME_MAP.HLDDZ.GID); } }); return; } var fakeLink = "fakelink://&Operation=OfflineMatch&SeriesID=".concat(seriesId, "&GameID=").concat(gameId); if (uin) { fakeLink += "&uin=".concat(uin); } var ddzInGame = window.sessionStorage.getItem('ddz_ingame'); if (ddzInGame === '1' || !url_url.getUrlPara('msdkEncodeParam') && env.isMsdk) { console.info('[launchDDZGameRoom] fakeLink: ', fakeLink); if (env.isIOS) { // @ts-ignore window.location = fakeLink; } else { confirm(fakeLink); } return; } if (env.isInGame) { var js_1 = "{\"MsdkMethod\":\"WGSendMessageToNative\",\"MsgData\":\"".concat(fakeLink, "\"}"); setTimeout(function () { // 延迟关闭游戏webview if (env.isMsdk && typeof window.msdkShare === 'function' && typeof window.msdkCloseWebview === 'function') { window.msdkShare(js_1); window.msdkCloseWebview(); } }, 1); return; } window.location.href = gameUrl; resolve(1); }); }; exports.launchDDZGameRoom = launchDDZGameRoom;