Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- //SDK统一管理脚本
- cc.Class({
- extends: cc.Component,
- properties: {
- nodeEventHandler: cc.Node,
- cancel: false,
- },
- dispatchE: function (_ev, _data) {
- if (this.nodeEventHandler) {
- this.nodeEventHandler.emit(_ev, _data);
- }
- },
- init: function () {
- this.ANDROID_API = "com/dx/dsx/and/AppActivity";
- this.IOS_API = "AppController";
- return this;
- },
- /**
- * 微信登录
- */
- wxLogin: function () {
- cc.log("wxLogin==========start login===================");
- //调起微信
- if (cc.sys.os === cc.sys.OS_ANDROID) {
- jsb.reflection.callStaticMethod(this.ANDROID_API, "wxLogin", "()V");
- } else if (cc.sys.os === cc.sys.OS_IOS) {
- var ret = jsb.reflection.callStaticMethod(this.IOS_API, "wxLogin");
- }
- },
- /**
- * 微信回调函数
- * errCode 回调状态,0表示成功,其余表示失败
- * errStr 回调说明,成功则为success,失败则为错误信息
- * code 授权成功获取的临时票据,用于获取token
- */
- onWxLoginResp: function (errCode, errStr, code) {
- cc.log("onWxLoginResp", "onWxLoginResp==============success errCode = " + errCode + " errStr = " + errStr +
- " code = " + code);
- // if (errCode === 0) {
- // cc.log("errCode =========== 0==============");
- // //保存获取到的code
- // cc.sixi.utils.save("wxCode", code);
- // //发送登录协议
- // // cc.sixi.net.send("1003", {code: code});
- // if (!cc.sixi.net.send("1003", { code: code })) {
- // this.node.on("onOpen", function (ev) {
- // cc.sixi.net.send("1003", { code: code });
- // });
- // cc.sixi.net.reopen();
- // }
- // }
- this.dispatchE("wxLoginResp", { errCode:errCode, errStr:errStr, code:code });
- // cc.sixi.global.errCode = errCode;
- // cc.sixi.global.errStr = errStr;
- // cc.sixi.alert.show("登录中,请稍候!" + cc.sys.os);
- },
- /**
- * 微信分享文字
- * shareText 分享的文字
- * shareType 分享到目标场景,0表示发送到聊天界面,1表示发送到朋友圈,2表示添加到微信收藏
- */
- wxShareText: function (shareText, shareType) {
- cc.log("wxShareText=============shareText = " + shareText + " shareType = " + shareType);
- if (cc.sys.os === cc.sys.OS_ANDROID) {
- jsb.reflection.callStaticMethod(this.ANDROID_API, "wxShareText",
- "(Ljava/lang/String;Ljava/lang/String;)V", shareText, shareType);
- } else if (cc.sys.os === cc.sys.OS_IOS) {
- jsb.reflection.callStaticMethod(this.IOS_API, "wxShareText:shareType:",
- shareText, shareType);
- }
- },
- /**
- * 微信分享链接
- * shareUrl 链接
- * shareTitle 标题
- * shareDesc 描述
- * shareImgPath 图片路径 传“null”串,则默认用icon.png
- * shareType 分享到目标场景,0表示发送到聊天界面,1表示发送到朋友圈,2表示添加到微信收藏
- */
- wxShareUrl: function (shareUrl, shareTitle, shareDesc, shareImgPath, shareType) {
- cc.log("wxShareUrl==================shareUrl = " + shareUrl + " shareTitle = " + shareTitle + " shareDesc = " + shareDesc + " shareImgPath = " + shareImgPath + " shareType = " + shareType);
- if (cc.sys.os === cc.sys.OS_ANDROID) {
- jsb.reflection.callStaticMethod(this.ANDROID_API, "wxShareUrl",
- "(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V",
- shareUrl, shareTitle, shareDesc, shareImgPath, shareType);
- } else if (cc.sys.os === cc.sys.OS_IOS) {
- jsb.reflection.callStaticMethod(this.IOS_API, "wxShareUrl:shareTitle:shareDesc:shareImgPath:shareType:",
- shareUrl, shareTitle, shareDesc, shareImgPath, shareType);
- }
- },
- /**
- * 微信分享图片
- * shareImgPaht 图片路径
- * shareTitle 标题
- * shareDesc 描述
- * shareType 分享到目标场景,0表示发送到聊天界面,1表示发送到朋友圈,2表示添加到微信收藏
- */
- wxShareImg: function (shareImgPath, shareTitle, shareDesc, shareType) {
- cc.log("wxShareImg==================shareImgPath = " + shareImgPath + " shareTitle = " + shareTitle + " shareDesc = " + shareDesc + " shareType = " + shareType);
- if (cc.sys.os === cc.sys.OS_ANDROID) {
- jsb.reflection.callStaticMethod(this.ANDROID_API, "wxShareImg",
- "(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V",
- shareImgPath, shareTitle, shareDesc, shareType);
- } else if (cc.sys.os === cc.sys.OS_IOS) {
- jsb.reflection.callStaticMethod(this.IOS_API, "wxShareImg:shareTitle:shareDesc:shareType:",
- shareImgPath, shareTitle, shareDesc, shareType);
- }
- },
- /**
- * 微信支付流程:
- * 1.游戏发送9003协议,获取可购买的商品列表,展示给玩家
- * 2.发送9004协议,获取微信预订单信息
- * 3.调用wxPay接口,调起微信支付页面
- * 4.监听9005协议,充值结果通知
- *
- * 微信支付
- * partnerId 商户id
- * prepayId 预订单号
- * packageValue 固定参数 Sign=WXPay
- * apiKey 安全密匙
- * */
- wxPay: function (partnerId, prepayId, packageValue, apiKey) {
- cc.log("WXPay===============partnerId = " + partnerId + " prepayId = " + prepayId + " packageValue = " + packageValue + " apiKey = " + apiKey);
- if (cc.sys.os === cc.sys.OS_ANDROID) {
- jsb.reflection.callStaticMethod(this.ANDROID_API, "wxPay",
- "(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V",
- partnerId, prepayId, packageValue, apiKey);
- } else if (cc.sys.os === cc.sys.OS_IOS) {
- }
- },
- /**
- * 呀呀登录
- * evn SDK环境:0:测试环境 1:正式环境 2:海外环境
- * mode SDK模式:0:自由模式 1:抢麦模式 2:队长模式
- * rate 码率,默认为7,可以自定义,比如1、2、3
- * mThirdUid 第三方平台账号id,即账号id
- * mThirdNickname 第三方平台账号昵称,即账号名称
- * roomId 房间号
- */
- yayaLogin: function (evn, mode, rate, mThirdUid, mThirdNickname, roomId) {
- cc.log("yayaLogin ===============evn = " + evn + " mode = " + mode + " rate = " + rate + " mThirdUid = " + mThirdUid + " mThirdNickname = " + mThirdNickname + " roomId = " + roomId);
- if (cc.sys.os === cc.sys.OS_ANDROID) {
- jsb.reflection.callStaticMethod(this.ANDROID_API, "yayaLogin",
- "(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V",
- evn, mode, rate, mThirdUid, mThirdNickname, roomId);
- } else if (cc.sys.os === cc.sys.OS_IOS) {
- jsb.reflection.callStaticMethod(this.IOS_API, "yayaLogin:mThirdUid:mThirdNickname:roomId:",
- evn, mThirdUid, mThirdNickname, roomId);
- cc.log("yayaLogin===============");
- }
- },
- /**
- * 呀呀登录回调
- * resultCode 0表示成功,其他表示失败
- * msg 回调说明,成功则为success,失败则为错误信息
- * yunvaId 呀呀id
- * mode SDK模式:0:自由模式 1:抢麦模式 2:队长模式
- */
- onYaLoginResp: function (resultCode, msg, yunvaId, mode) {
- cc.log("onYaLoginResp==============resultCode = " + resultCode + " msg = " + msg + " yunvaId = " + yunvaId + " mode = " + mode);
- cc.sixi.utils.save("yunvaId", yunvaId);
- },
- /**
- * 呀呀登出
- */
- yayaLogout: function () {
- cc.log("yayaLogout================================");
- if (cc.sys.os === cc.sys.OS_ANDROID) {
- jsb.reflection.callStaticMethod(this.ANDROID_API, "yayaLogout", "()V");
- } else if (cc.sys.os === cc.sys.OS_IOS) {
- jsb.reflection.callStaticMethod(this.IOS_API, "yayaLogout");
- }
- },
- /**
- * 呀呀登出回调
- * resultCode 0表示成功,其他表示失败
- * msg 回调说明,成功则为success,失败则为错误信息
- */
- onYaLogoutResp: function (resultCode, msg) {
- cc.log("onYaLogoutResp======================resultCode = " + resultCode + " msg = " + msg);
- },
- /**
- * 呀呀上麦
- */
- yayaMicUp: function () {
- cc.log("yayaMicUp================================");
- if (cc.sys.os === cc.sys.OS_ANDROID) {
- jsb.reflection.callStaticMethod(this.ANDROID_API, "yayaMicUp", "()V");
- } else if (cc.sys.os === cc.sys.OS_IOS) {
- jsb.reflection.callStaticMethod(this.IOS_API, "yayaMicUp");
- }
- },
- /**
- * 呀呀下麦
- */
- yayaMicDown: function () {
- cc.log("yayaMicDown================================");
- if (cc.sys.os === cc.sys.OS_ANDROID) {
- jsb.reflection.callStaticMethod(this.ANDROID_API, "yayaMicDown", "()V");
- } else if (cc.sys.os === cc.sys.OS_IOS) {
- jsb.reflection.callStaticMethod(this.IOS_API, "yayaMicDown");
- }
- },
- /**
- * 呀呀上下麦回调
- * resultCode 0表示成功,其他表示失败
- * msg 回调说明,成功则为success,失败则为错误信息
- * actionType 0表示下麦,1表示上麦
- */
- onYaMicResp: function (resultCode, msg, actionType) {
- cc.log("onYaMicResp=============resultCode = " + resultCode + " msg = " + msg + " actionType = " + actionType);
- },
- /**
- * 注意上麦时,不允许录音,如果录音,播放语音会报错
- * 呀呀开始录音 停止录音后,上传+发送
- * 按钮按下状态执行
- * 停止录音后,在回调函数中上传和发送
- * yunvaId 呀呀账号id
- */
- yayaStartVoiceRecord: function (yunvaId) {
- cc.log("yayaStartVoiceRecord===============yunvaId = " + yunvaId);
- if (cc.sys.os === cc.sys.OS_ANDROID) {
- jsb.reflection.callStaticMethod(this.ANDROID_API, "yayaStartVoiceRecord", "(Ljava/lang/String;)V", yunvaId);
- } else if (cc.sys.os === cc.sys.OS_IOS) {
- jsb.reflection.callStaticMethod(this.IOS_API, "yayaStartVoiceRecord");
- }
- },
- /**
- * 呀呀录音、上传、发送回调
- * resultCode 0表示成功,其他表示失败
- * msg 回调说明,成功则为success,失败则为错误信息
- * FileUrl 网络语音文件地址(上传成功后获得)
- * fileMd5 文件的MD5值,在语音上传的时候获取,用于校验文件是否下载完整
- * voiceLength 语音时间长度,单位:毫秒
- */
- onYaStartVoiceResp: function (resultCode, msg, FileUrl, fileMd5, voiceLength) {
- cc.log("onYaStartVoiceResp=========resultCode = " + resultCode + " msg = " + msg + " FileUrl = " + FileUrl + " fileMd5 = " + fileMd5 + " voiceLength = " + voiceLength);
- // cc.sixi.utils.save(fileMd5, FileUrl);
- // cc.sixi.utils.save("fileMd5", fileMd5);
- if (!this.cancel && resultCode == 0) {
- this.dispatchE("yyVoiceRecord", { url: FileUrl, fileMd5: fileMd5, time: voiceLength });
- }
- this.cancel = false;
- },
- /**
- * 呀呀停止录音
- * 按钮抬起状态执行
- */
- yayaStopVoiceRecord: function () {
- cc.log("yayaStopVoiceRecord===================================");
- if (cc.sys.os === cc.sys.OS_ANDROID) {
- jsb.reflection.callStaticMethod(this.ANDROID_API, "yayaStopVoiceRecord", "()V");
- } else if (cc.sys.os === cc.sys.OS_IOS) {
- jsb.reflection.callStaticMethod(this.IOS_API, "yayaStopVoiceRecord");
- }
- },
- /**
- * 呀呀播放语音
- * FileUrl 网络语音文件地址(上传成功后获得)
- * fileMd5 文件的MD5值,在语音上传的时候获取,用于校验文件是否下载完整
- */
- yayaStartPlayVoiceByUrl: function (FileUrl, fileMd5) {
- cc.log("yayaStartPlayVoiceByUrl==============FileUrl = " + FileUrl + " fileMd5 = " + fileMd5);
- if (cc.sys.os === cc.sys.OS_ANDROID) {
- jsb.reflection.callStaticMethod(this.ANDROID_API, "yayaStartPlayVoiceByUrl", "(Ljava/lang/String;Ljava/lang/String;)V",
- FileUrl, fileMd5);
- } else if (cc.sys.os === cc.sys.OS_IOS) {
- jsb.reflection.callStaticMethod(this.IOS_API, "yayaStartPlayVoiceByUrl:", FileUrl);
- }
- },
- /**
- * 呀呀播放语音回调
- * resultCode 0表示成功,其他表示失败
- * msg 回调说明,成功则为success,失败则为错误信息
- */
- onYaStartPlayVoiceResp: function (resultCode, msg) {
- cc.log("onYaStartPlayVoiceResp=========resultCode = " + resultCode + " msg = " + msg);
- },
- //************************************app appstore支付开始***************************************************************** */
- /**
- * 实现苹果AppStore道具购买协议。苹果AppStore提供2个接口:查询商品本地化信息,购买商品。
- * 游戏应从认证
- * 服务器获取可购买的商品列表,并在用户第一次进入充值界面时,查询所有商品的本地化信息(价格,币种),并
- * 给用户展示。
- * 购买请求发出后,后续操作由StoreKit完成。当购买成功时,成功的订单信息会被放到一个本地文件中保存。游戏
- * 应循环检查是否由尚未传到服务器的订单信息,如果有立刻传到服务器,成功传输后从本地删除。
- */
- /**
- * appstore支付
- * productID 商品ID
- */
- appStoreCharge: function (productID) {
- cc.log("appStoreCharge======productID = " + productID);
- if (cc.sys.os === cc.sys.OS_IOS) {
- jsb.reflection.callStaticMethod(this.IOS_API, "appStoreCharge:", productID);
- }
- },
- /**
- * appStore支付回调
- * resultCode 0表示成功,其他表示失败
- * msg 回调说明,成功则为success,失败则为错误信息
- * productId 商品id
- * auditData 订单数据(base64)
- */
- onAppStoreChareResp: function (resultCode, msg, productId, auditData) {
- if (resultCode === 0) {
- cc.log("onAppStoreChareResp charge success. productId = " + productId);
- // this.dispatchE("appStoreCharge", { productId: productId, auditData: auditData });
- } else {
- cc.log("onAppStoreChareResp charge fail. resultCode = " + resultCode + " msg = " + msg);
- }
- this.dispatchE("appStoreCharge", { resultCode: resultCode, productId: productId, auditData: auditData, msg: msg });
- },
- /**
- * 获取最近成功的订单数据
- */
- getLatestReceipt: function () {
- var latestReceipt= null;
- if (cc.sys.os === cc.sys.OS_IOS) {
- latestReceipt = jsb.reflection.callStaticMethod(this.IOS_API, "getLatestReceipt");
- cc.log("appStore getLatestReceipt = " + latestReceipt);
- }
- return latestReceipt;
- },
- /**
- * 从本地订单存储文件中删除一个订单数据。
- * data 订单数据
- */
- deleteReceipt: function (data) {
- if (cc.sys.os === cc.sys.OS_IOS) {
- jsb.reflection.callStaticMethod(this.IOS_API, "deleteReceipt:", data);
- cc.log("appStore deleteReceipt = " + data);
- }
- },
- /****************************************app store 支付结束***************************************************************************** */
- //***************************************系统工具方法开始***************************************************************** */
- /**
- * 获取设备号
- * return (String)
- */
- getIdentifier: function () {
- var imei ;
- if (cc.sys.os === cc.sys.OS_ANDROID) {
- imei = jsb.reflection.callStaticMethod(this.ANDROID_API, "getImei", "()Ljava/lang/String;");
- } else if (cc.sys.os === cc.sys.OS_IOS) {
- imei = jsb.reflection.callStaticMethod(this.IOS_API, "getIdentifier");
- }
- return imei;
- },
- /**
- * 获取设备名称 如 ipadmini
- * return (String)
- */
- getDeviceName: function () {
- var DeviceName;
- if (cc.sys.os === cc.sys.OS_ANDROID) {
- DeviceName = jsb.reflection.callStaticMethod(this.ANDROID_API, "getDeviceName", "()Ljava/lang/String;");
- } else if (cc.sys.os === cc.sys.OS_IOS) {
- DeviceName = jsb.reflection.callStaticMethod(this.IOS_API, "getDeviceName");
- }
- return DeviceName;
- },
- /**
- * 获取手机系统版本
- * return (String)
- */
- getPhoneVersion: function () {
- var SdkVersion;
- if (cc.sys.os === cc.sys.OS_ANDROID) {
- SdkVersion = jsb.reflection.callStaticMethod(this.ANDROID_API, "getSdkVersion", "()Ljava/lang/String;");
- } else if (cc.sys.os === cc.sys.OS_IOS) {
- SdkVersion = jsb.reflection.callStaticMethod(this.IOS_API, "getPhoneVersion");
- }
- return SdkVersion;
- },
- /**
- * 获取app bundleId, android为package name
- * return (String)
- */
- getBundleId: function () {
- var BunleId;
- if (cc.sys.os === cc.sys.OS_ANDROID) {
- BunleId = jsb.reflection.callStaticMethod(this.ANDROID_API, "getAppPackageName", "()Ljava/lang/String;");
- } else if (cc.sys.os === cc.sys.OS_IOS) {
- BunleId = jsb.reflection.callStaticMethod(this.IOS_API, "getBundleId");
- }
- return BunleId;
- },
- /**
- * 获取app版本号
- * return (String)
- */
- getAppVersion: function () {
- var AppVersion;
- if (cc.sys.os === cc.sys.OS_ANDROID) {
- AppVersion = jsb.reflection.callStaticMethod(this.ANDROID_API, "getAppVersion", "()Ljava/lang/String;");
- } else if (cc.sys.os === cc.sys.OS_IOS) {
- AppVersion = jsb.reflection.callStaticMethod(this.IOS_API, "getAppVersion");
- }
- return AppVersion;
- },
- /**
- * 获取app渠道号
- * return (String)
- */
- getAppChannel: function () {
- var AppChannel;
- if (cc.sys.os === cc.sys.OS_ANDROID) {
- AppChannel = jsb.reflection.callStaticMethod(this.ANDROID_API, "getChannel", "()Ljava/lang/String;");
- } else if (cc.sys.os === cc.sys.OS_IOS) {
- AppChannel = jsb.reflection.callStaticMethod(this.IOS_API, "getAppChannel");
- }
- return AppChannel;
- },
- /**
- * 获取当前电量,满电返回1.00
- * android在下面回调中获得,ios直接获得
- * return (double)
- */
- getCurrentBatteryLevel: function () {
- var CurrentBattery = 0;
- if (cc.sys.os === cc.sys.OS_ANDROID) {
- //android的电量在下面回调中获得
- jsb.reflection.callStaticMethod(this.ANDROID_API, "getCurrentBatteryLevel", "()V");
- } else if (cc.sys.os === cc.sys.OS_IOS) {
- CurrentBattery = jsb.reflection.callStaticMethod(this.IOS_API, "getCurrentBatteryLevel");
- }
- return cc.js.formatStr("%s%",CurrentBattery);
- },
- /**
- * android获取电量回调
- * BatteryLevelStr 电量字符串,如 10%
- */
- onAndroidCurrentBattreyResp: function (BatteryLevelStr) {
- // var batteryLevel = BatteryLevelStr;
- this.dispatchE("androidBattery",BatteryLevelStr );
- }
- //***************************************系统工具方法结束***************************************************************** */
- // called every frame, uncomment this function to activate update callback
- // update: function (dt) {
- // },
- });
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement