123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111 |
- /**
- * 初始化平台相关信息,确定MiddleMgr
- */
- module.exports = {
- init (ns) {
- if (CC_EDITOR) {
- return;
- }
- this._getPlatformInit();
- },
- /**
- * 获取当前平台的初始化接口
- *
- * @returns
- */
- _getPlatformInit () {
- let channelId = this._getChannelId();
- G.ChannelId = Number(channelId);
- let sdkConfig = this._getSdkConfig(channelId);
- let sdkName = sdkConfig.sdk_name;
- let platform = cc.sys.platform;
- G.MiddleMgr = this._getMiddleMgr(platform, sdkName);
- G.MiddleMgr.sdkConfig = this._getSdkConfig(channelId);
- G.MiddleMgr.init();
- },
- /**
- * 获取MiddleMgr
- *
- * @param {String} platform 平台
- * @param {String} sdkName sdk名称
- * @returns {MiddleMgr}
- */
- _getMiddleMgr (platform, sdkName) {
- let MiddleMgrClass;
- switch (platform) {
- case cc.sys.MOBILE_BROWSER:
- case cc.sys.DESKTOP_BROWSER: {
- MiddleMgrClass = this._getWebMiddleMgrClass(sdkName);
- break;
- }
- default: {
- MiddleMgrClass = this._getWebMiddleMgrClass(sdkName);
- break;
- }
- }
- return new MiddleMgrClass();
- },
- /**
- * 获取Web平台对应的MiddleMgr
- *
- * @param {String} sdkName sdk名称
- * @returns {MiddleMgr}
- */
- _getWebMiddleMgrClass (sdkName) {
- let MiddleMgrClass;
- switch (sdkName) {
- default: {
- MiddleMgrClass = require('WebMiddleMgr');
- break;
- }
- }
- return MiddleMgrClass;
- },
- /**
- * 渠道号映射不同的在线参数打包配置
- *
- * @param {Integer} channelId
- * @returns {Object}
- */
- _getChannelId () {
- let channelId = 999;
- let platform = cc.sys.platform;
- switch (platform) {
- case cc.sys.MOBILE_BROWSER:
- case cc.sys.DESKTOP_BROWSER: {
- let searchParams = new URLSearchParams(window.location.search);
- channelId = searchParams.get('channel') || 999;
- break;
- }
- }
- return channelId;
- },
- /**
- * 渠道号映射不同的SDK打包配置
- *
- * @param {Integer} channelId
- * @returns {Object}
- */
- _getSdkConfig (channelId) {
- let WebSDKConfig = require('AllSDKConfig');
- let sdkConfig = WebSDKConfig['ch' + channelId];
- if (!sdkConfig) {
- sdkConfig = WebSDKConfig['ch999'] || {};
- sdkConfig.channel = channelId;
- }
- return sdkConfig;
- }
- };
|