cc.Class({ ctor () { this._orderDataMap = {}; }, /** * 收到JNI发上来的事件 * * @author Pyden * @date 2020-03-11 * @param {Object} eventData */ handleEvent (eventData) { /* eventData参数: * @param {String} sdkName * @param {String} eventKey * @param {Integer} code * @param {String} errorMsg * @param {Object} data */ /* 支付回调事件,eventKey如下: pay_result // 支付完成回调 eventData.data.orderId // 同pay请求时的参数 */ let eventKey = eventData.eventKey; switch (eventKey) { case 'pay_result': { let data = eventData.data; let orderId = data ? data.orderId : ''; let orderData = this.getOrderData(orderId); if (orderData) { eventData.data = orderData; } cc.game.emit('e_middle_pay_result', eventData); break; } default: break; } }, /** * 获取支付模块的配置信息 * * @author Pyden * @date 2020-03-23 * @returns {Object} * config.list 支付类型信息列表 */ getConfig () { if (!this._config) { let gameConfig = G.MiddleMgr.getGameConfig(); if (gameConfig && gameConfig.pay) { this._config = gameConfig.pay; } } return this._config; }, /** * 获取支付类型信息列表 * * @author Pyden * @date 2020-03-11 * @returns {Array} * name * sdkName * payType */ getPayTypeInfoList () { let config = this.getConfig() || {}; return config.list; }, /** * 缓存订单信息 * * @author Pyden * @date 2020-03-23 * @param {*} orderId * @param {*} orderData */ addOrderData (orderId, orderData) { this._orderDataMap[orderId] = orderData; }, /** * 获取订单信息 * * @author Pyden * @date 2020-03-23 * @param {*} orderId */ getOrderData (orderId) { return this._orderDataMap[orderId]; }, /** * 支付 pay_pay * * @param {Integer} payType * @param {Integer} uid * @param {Integer} gid * @param {Integer} jfid 我们游戏的计费点id,不是渠道的计费点id。另外,同一个 jfid 会给不同的商品id使用。 * @param {Integer} price * @param {String} goodsName * @param {String} goodsDesc * @param {String} orderId * @returns {Boolean} 返回值表示是否调起支付成功 */ pay (payType, uid, gid, jfid, price, goodsName, goodsDesc, orderId) { return false; }, /** * 生成订单号 * * @author Pyden * @date 2020-03-11 * @param {String} sdkName * @param {Integer} payType * @param {Integer} uid * @param {Integer} gid * @param {Integer} channelId * @returns {String} */ newOrderId (sdkName, payType, uid, gid, channelId) { return ''; }, /** * 设置商品计费点id列表(iOS用于同步商品信息) 未使用 pay_setGoodsJfidListString * * @author Pyden * @date 2020-03-11 * @param {Array} goodsJfidList */ setGoodsJfidList (goodsJfidList) { } });