/* 中间层接口规范: 1、各个Middle 仅父类写注释,子类不写注释; 2、各个Middle的子类 里的方法排序要和 父类 保持一致; 3、java 里的方法排序要和 Middle js 保持一致; 4、中间结果的方法,放到 MiddleMgr 中; */ cc.Class({ init () { G.MiddleDevice = new (require('MiddleDevice'))(); G.MiddleAuth = new (require('MiddleAuth'))(); G.MiddlePay = new (require('MiddlePay'))(); G.MiddleUpdate = new (require('MiddleUpdate'))(); }, handleEventJson (eventJson) { let eventData = JSON.parse(eventJson); this.handleEvent(eventData); }, /** * 收到JNI发上来的事件 * * @author Pyden * @date 2020-03-11 * @param {Object} eventData */ handleEvent (eventData) { G.LogUtils.warn('MiddleMgr handleEvent', eventData); /* eventData参数: * @param {String} module * @param {String} eventKey * @param {Integer} code * @param {String} errorMsg * @param {Object} data */ let moduleName = eventData.module; switch (moduleName) { case 'device': { G.MiddleDevice.handleEvent(eventData); break; } case 'auth': { G.MiddleAuth.handleEvent(eventData); break; } case 'pay': { G.MiddlePay.handleEvent(eventData); break; } case 'update': { G.MiddleUpdate.handleEvent(eventData); break; } default: break; } }, //* ************* 公共方法 ************* *// /** * 获取脚本号 * * @author Ture * @date 2019-04-23 * @returns {Integer} */ getResVersion () { return G.RES_VERSION; }, /** * 获取游戏版本号(含脚本号) * * @author Ture * @date 2019-04-23 * @returns {String} */ getVersion () { let apkVer = G.MiddleDevice.getVersionName(); let resVer = this.getResVersion(); let ret = cc.js.formatStr('%s.%s', apkVer, resVer); return ret; }, /** * 获取运营商名称 * * @author Ture * @date 2019-04-23 * @returns {String} */ getOperatorName () { let map = {'1': '移动', '2': '联通', '3': '电信'}; let operator = G.MiddleDevice.getOperator(); operator = operator == undefined ? 0 : operator; let ret = map[operator] == undefined ? '未知' : map[operator]; return ret; }, /** * 获取当前网络名称 * * @author Ture * @date 2019-04-23 * @returns {String} */ getApnTypeName () { let map = {'-1': '无网络', '1': 'WiFi', '2': 'G', '3': '2/3G', '4': '4G'}; let apn = G.MiddleDevice.getApnType(); apn = apn == undefined ? 0 : apn; let ret = map[apn] == undefined ? '未知' : map[apn]; return ret; }, /** * 获取UDID * * @author Pyden * @date 2020-02-13 * @returns {String} */ getUDID () { let originUDID = G.MiddleDevice.getUDID(); return originUDID; }, /** * 获取UUID * * @author Pyden * @date 2020-02-13 * @returns {String} */ getUUID () { let originUUID = G.MiddleAuth.getUUID(); return originUUID; }, /** * 获取IDFA(加密后) * cc.js.formatStr('%s|%s|%s|%s|%s|%s', imeiMd5, androidIdMd5, oaid, mac, idfaIos, openUuidIos); * * @author Pyden * @date 2020-05-08 * @returns */ getIDFAEncode () { let idfa = G.MiddleDevice.getIDFA(); let list = idfa.split('|'); let imei = list[0]; let androidId = list[1]; let oaid = list[2]; let mac = list[3]; let idfaIos = list[4]; let openUuidIos = list[5]; let imeiMd5 = ''; if (imei && imei.length > 0) { imeiMd5 = MD5.hex(imei); } let androidIdMd5 = ''; if (androidId && androidId.length > 0) { androidIdMd5 = MD5.hex(androidId); } if (oaid == undefined) { oaid = ''; } if (mac == undefined) { mac = ''; } if (idfaIos == undefined) { idfaIos = ''; } if (openUuidIos == undefined) { openUuidIos = ''; } let ret = cc.js.formatStr('%s|%s|%s|%s|%s|%s', imeiMd5, androidIdMd5, oaid, mac, idfaIos, openUuidIos); return ret; }, /** * 获取游戏配置 * * @author Pyden * @date 2020-03-20 */ getGameConfig () { return { auth: { list: [{name: 'Web授权', sdkName: 'Web', authType: JMC.AUTHORIZE_TYPE.NORMAL}] }, device: { sdkName: 'WebDevice' }, pay: { list: [] }, update: { sdkName: 'WebUpdate' } }; } });