Files
fc/dev/project/library/imports/25/2514b2a7-de0b-4fd5-a69c-0226009c9963.js
2026-05-24 10:21:26 +08:00

313 lines
10 KiB
JavaScript

"use strict";
cc._RF.push(module, '2514bKn3gtP1aacAiYAnJlj', 'ff_sdk');
// Scripts/ffengine/ff_sdk.js
"use strict";
var _ErolabsSDK = require("../erolabs/ErolabsSDK");
var CPluginHelp = require("plugin_help");
var CMiscHelp = require("misc_help");
// const LoginMod = require( "login.mod" );
var FFSDK = cc.Class({
statics: {
instance: null
},
ctor: function ctor() {
this.mInited = false;
this.mJsonSDKInfo = undefined;
},
isEnableSDK: function isEnableSDK() {
return CPluginHelp.getInstance().isEnableSDK();
},
// callback type::( param : any ) => void
regSdkCallBack: function regSdkCallBack(funcName, callback, owner) {
CPluginHelp.getInstance().regSdkCallBack(funcName, callback, owner);
},
removeSdkCallBack: function removeSdkCallBack(funcName, callback) {
CPluginHelp.getInstance().removeSdkCallBack(funcName, callback);
},
// 越早调用越好!
init: function init() {
if (this.mInited) {
return this.mJsonSDKInfo;
}
this.mInited = true;
// CPluginHelp.getInstance().regSdkCallBack( "pay", this._onPayResult );
// CPluginHelp.getInstance().regSdkCallBack( "login", this._onLoginResult );
// CPluginHelp.getInstance().regSdkCallBack( "logout", this._onLogoutResult );
// CPluginHelp.getInstance().regSdkCallBack( "bindaccount", this._onBindAccountResult );
var platformInfo = CPluginHelp.getInstance().callSdk("platformInfo", "{}");
if (platformInfo && 0 < platformInfo.length) {
this.mJsonSDKInfo = JSON.parse(platformInfo);
if (this.mJsonSDKInfo.channelName == "erolabs") {
_ErolabsSDK.ErolabsSDK.initialize("88", this.mJsonSDKInfo.channelName, this.mJsonSDKInfo.lang, function (_data) {
// ErolabsSDK.setLanguage( this.mJsonSDKInfo.lang );
});
}
}
return this.mJsonSDKInfo;
},
////////////// quick call functions //////////////
autoLogin: function autoLogin() {
var _this = this;
if (this.mJsonSDKInfo.channelName == "erolabs") {
_ErolabsSDK.ErolabsSDK.openLogin(function (_) {
var uid = _.data.user_info.user_id;
_this.accountinfo = _;
var account = nx.dt.strNEmpty(_this.accountinfo.data.user_info.account) ? _this.accountinfo.data.user_info.account : uid;
// console.log( JSON.stringify( _ ) + "autoLogin" + JSON.stringify( this.accountinfo ) );
CPluginHelp.getInstance().sendSdkCallBack("login", {
openId: account
});
var stroge = nx.storage.get("bindreward" + _this.accountinfo.data.user_info.account);
if (nx.dt.strNEmpty(_this.accountinfo.data.user_info.account)) {
_ErolabsSDK.ErolabsSDK.reqCoins();
_ErolabsSDK.ErolabsSDK.postAccountBindGame(_this.accountinfo.data.user_info.account, function (_) {});
nx.mTip.openTip("setting.bind", !stroge);
}
nx.mTip.openTip("unbind", nx.dt.strEmpty(_this.accountinfo.data.user_info.account));
});
} else {
nx.mTip.openTip("setting.bind", false);
nx.mTip.openTip("unbind", false);
CPluginHelp.getInstance().callSdk("autoLogin", "{}");
}
},
doLogout: function doLogout() {
// ErolabsSDK.openLogin(_ => {
// let uid = _.data.user_info.user_id;
// CPluginHelp.getInstance().sendSdkCallBack( "login", { openId: uid } );
// })
_ErolabsSDK.ErolabsSDK.openLogout(function (_result) {
var resultback = nx.dt.strEmpty(_result.exception) ? 1 : 0;
console.log("OpenLogout---->>>>>" + JSON.stringify(_result));
CPluginHelp.getInstance().sendSdkCallBack("logout", {
result: resultback
});
});
},
switchAccount: function switchAccount() {
var self = this;
if (this.mJsonSDKInfo.channelName == "erolabs") {
_ErolabsSDK.ErolabsSDK.openLogout(function (_result) {
if (nx.dt.strEmpty(_result.exception)) {
self.autoLogin();
}
});
} else {
CPluginHelp.getInstance().callSdk("switchAccount", "{}");
}
},
logOut: function logOut() {
var self = this;
if (this.mJsonSDKInfo.channelName == "erolabs") {
console.log("sdklogOut" + JSON.stringify(this.accountinfo));
if (nx.dt.strEmpty(this.accountinfo.data.user_info.account)) {
nx.mbox("BingAccountTip", ['Cancle', 'confirm'], function (_key, _box) {
_box.close();
if (_key == 'confirm') {
self.doLogout();
}
});
} else {
self.doLogout();
}
} else {
CPluginHelp.getInstance().callSdk("loginOut", "{}");
}
},
// 游客绑定
guestBind: function guestBind(_cb) {
if (this.mJsonSDKInfo.channelName == "erolabs") {
var info = nx.bridge.vget("curAccount");
if (nx.dt.strEmpty(this.accountinfo.data.user_info.account)) {
// console.log( "绑定游客账号chuan" + info.account );
_ErolabsSDK.ErolabsSDK.openAccountBindGame(info.account, _cb);
}
// CPluginHelp.getInstance().sendSdkCallBack( "logout", { result : resultback } );
} else {
CPluginHelp.getInstance().callSdk("bindaccount", "{}");
}
},
checkUpdate: function checkUpdate() {
CPluginHelp.getInstance().callSdk("checkUpdate", "{}");
},
report: function report(evtName, evtValue) {
var msg = "{\"event\":\"" + evtName + "\",\"value\":\"" + evtValue + "\"}";
CPluginHelp.getInstance().callSdk("report", msg);
},
// 上报账号ID
reportOpenID: function reportOpenID(openID) {
if (CMiscHelp.getInstance().isValid(openID)) {
this.report("setOpenID", "" + openID);
}
},
// 上报服务器ID
reportServerID: function reportServerID(serverID) {
if (CMiscHelp.getInstance().isValid(serverID)) {
this.report("setUserServer", "" + serverID);
}
},
// 上报主角ID
reportRoleID: function reportRoleID(roleID) {
if (CMiscHelp.getInstance().isValid(roleID)) {
this.report("setRoleID", "" + roleID);
}
},
// 上报主角昵称
reportRoleName: function reportRoleName(roleName) {
if (CMiscHelp.getInstance().isValid(roleName)) {
this.report("setRoleName", "" + roleName);
}
},
// 上报主角等级
reportRoleLevel: function reportRoleLevel(level) {
if (CMiscHelp.getInstance().isValid(level)) {
this.report("setRoleLevel", "" + level);
}
},
showFloatView: function showFloatView(visible) {
var msg = "{\"visible\":\"" + (visible ? 1 : 0) + "\"}";
CPluginHelp.getInstance().callSdk("showFloatView", msg);
},
pay: function pay(payID, price, productName, productDesc, openID, roleID, serverID) {
var self = this;
var msgBody = {
payid: payID,
price: price,
name: productName,
desc: productDesc,
openid: openID,
roleID: roleID,
srvid: serverID
};
if (this.mJsonSDKInfo.channelName == "erolabs") {
if (nx.dt.strEmpty(this.accountinfo.data.user_info.account)) {
nx.mbox("BuyNoAccountTip", ['Cancle', 'BuyNoAGoto'], function (_key, _box) {
_box.close();
if (_key == 'BuyNoAGoto') {
// LoginMod.getInstance().reqSDKLogout( ()=>{
// self.guestBind();
// } );
self.doLogout();
} else {
CPluginHelp.getInstance().sendSdkCallBack("pay", {});
}
});
} else {
var tip = nx.text.getKey("sdkerolabsNoEnoughTip");
var etip = nx.text.format("sdkerolabsEnoughTip", this.getCoinsSelf());
if (this.getCoinsSelf() < price) {
nx.mbox(tip, ['Cancle', 'confirm'], function (_key, _box) {
_box.close();
if (_key == 'confirm') {
_ErolabsSDK.ErolabsSDK.openPayment();
CPluginHelp.getInstance().sendSdkCallBack("pay", {});
} else {
CPluginHelp.getInstance().sendSdkCallBack("pay", {});
}
});
} else {
nx.mbox(etip, ['Cancle', 'confirm'], function (_key, _box) {
_box.close();
if (_key == 'confirm') {
msgBody.Token = _ErolabsSDK.ErolabsSDK.getToken();
var msg = JSON.stringify(msgBody);
CPluginHelp.getInstance().callSdk("pay", msg);
} else {
CPluginHelp.getInstance().sendSdkCallBack("pay", {});
}
});
}
}
} else {
var msg = JSON.stringify(msgBody);
CPluginHelp.getInstance().callSdk("pay", msg);
}
},
getCoinsSelf: function getCoinsSelf() {
return _ErolabsSDK.ErolabsSDK.getCoins();
},
reqCoins: function reqCoins() {
_ErolabsSDK.ErolabsSDK.reqCoins();
},
openUrl: function openUrl(url) {
var msg = "{\"url\":\"" + url + "\"}";
CPluginHelp.getInstance().callSdk("openUrl", msg);
},
// 获取粘贴板文本
getClipboard: function getClipboard() {
return CPluginHelp.getInstance().callSdk("getClipboard", "{}");
}
/////////////////// SDK Call Back ///////////////////
// _onLoginResult : function ( jsonParams ) {
// if( jsonParams )
// {
// let openIDVal = jsonParams[ "openId" ];
// // TODO :
// }
// },
// _onPayResult : function ( jsonParams ) {
// if( jsonParams )
// {
// let result = jsonParams[ "result" ];
// let msg = jsonParams[ "msg" ];
// if( result && msg && 0 !== parseInt(result) && 0 !== msg.length )
// {
// // TODO : Failed with msg
// return;
// }
// }
// // TODO : Success
// },
// _onLogoutResult : function ( jsonParams ) {
// if( jsonParams )
// {
// let result = jsonParams[ "result" ];
// if( result && 0 !== parseInt(result) ) {
// // TODO : onLogout
// }
// }
// },
// _onBindAccountResult : function ( jsonParams ) {
// if( jsonParams )
// {
// let result = jsonParams[ "guest" ];
// if( undefined !== result ) {
// let is_guest = ( 0 !== parseInt(result) );
// // TODO : bind result
// }
// }
// },
});
FFSDK.getInstance = function () {
if (!FFSDK.instance) {
FFSDK.instance = new FFSDK();
}
return FFSDK.instance;
};
module.exports = FFSDK;
cc._RF.pop();