gamemall/src/jcfw/SDKManage.js

187 lines
4.5 KiB
JavaScript
Executable File

var jcfw = require('./jcfw');
var jcgamelog = jcfw.gamelog;
var jcshare = jcfw.share;
var ShareConfig = {
'money':
{
urls: ['gift.jpg'],
titles: ['领元宝'],
logid: 1
},
'normal':
{
urls: ['gift.jpg'],
titles: ['领元宝'],
logid: 2
}
};
var SDKManage = function() {
this.isoffical = false;
this.gameId = 8003;
this.hasLogin = false;
this.vision = '1.0.0';
this.ChannelId = 6001;
this.init = function() {
jcfw.init(this.ChannelId, this.gameId, this.isoffical);
};
this.doLogin = function(res) {
if (this.loginStep < this.logincbarr.length) {
this.logincbarr[this.loginStep](res);
this.loginStep++;
} else {
this.loginOver();
}
};
this.checkSharedata = function() {
var ldata = wx.getLaunchOptionsSync().query;
console.log('checkSharedata');
console.log(ldata);
if (ldata.inviter_id) {
jcshare.acceptAchievementInvite(ldata.inviter_id, '100', JSON.stringify([['100', 100]]));
}
setTimeout(() => {
this.doLogin();
}, 10);
};
this.gamelogin = function() {
var token = wx.getStorageSync('token');
var self = this;
if (!token || token == '') {
token = jcfw.makeUUID();
try {
wx.setStorageSync('token', token);
} catch (e) {
}
}
jcfw.loginUser((res) => {
self.hasLogin = true;
console.log('login success');
console.log(res);
wx.setStorageSync('account', res);
self.account_id = res.account_id;
self.doLogin();
},
(neterr, logicerr, errmsg) => {
self.gamelogin();
}
);
};
this.getGameConfig = function() {
var self = this;
var cb = function(res) {
console.log('getGameConfig');
console.log(res);
wx.setStorageSync('cfg', res);
setTimeout(() => {
self.doLogin();
}, 10);
};
var cbf = function(res) {
console.log('getGameConfig fail');
self.getGameConfig();
};
jcfw.cloud.initConfig(cb, cbf);
// jcfw.getConfig('',cb,cbf);
};
this.setStorage = function(v, successcb, failcb) {
if (this.hasLogin) {
jcfw.cloud.setStorages(v, successcb, failcb);
}
};
this.getStorage = function(keys, successcb, failcb) {
if (this.hasLogin) {
jcfw.cloud.getStorages(keys, successcb, failcb);
}
};
this.getShareConfig = function() {
var self = this;
var cbs = function(res) {
self.doLogin();
for (var i = 0; i < res.length; i++) {
var sdt = res[i];
if (ShareConfig[sdt.type]) {
ShareConfig[sdt.type].urls = sdt.images;
ShareConfig[sdt.type].titles = sdt.strs;
}
}
// if(cc.sys.platform == cc.sys.WECHAT_GAME){
// wx.showShareMenu({
// withShareTicket: false
// });
// wx.onShareAppMessage(function () {
// return {
// title: Main.config.shareConfig["normal"].title,
// imageUrl: Main.config.shareConfig["normal"].url2[0]
// }
// });
// }
console.log('getShareConfig ssssssssssssss');
console.log(res);
};
var cbf = function() {
console.log('getShareConfig fffffffffff');
self.getShareConfig();
};
jcfw.cloud.getShareData(this.sex, this.province, this.city, cbs, cbf);
};
this.loadData = function() {
var self = this;
var cb = function(v) {
// self.playerData.load(v);
self.doLogin();
};
this.getStorage(['aaa', 'bbb'], cb);
};
this.getAchievInviteeNum = function(cb) {
var callback = function(res) {
console.log('playerData.invitee_nums');
console.log(res);
var invitee_nums = 0;
for (var i = 0; i < res.length; i++) {
if (res[i].achievement_id == 100) {
invitee_nums = res[i].invitee_num;//邀请玩家数
break;
}
}
if (cb) {
cb(invitee_nums);
}
};
jcshare.getAchievInviteeNum(callback);
};
this.Login = function(cb) {
this.loginStep = 0;
if (cb) {
this.loginOver = cb;
}
this.logincbarr = [
this.gamelogin.bind(this),
// this.wxGetUseInfo.bind(this),
this.checkSharedata.bind(this),
// redis 配置
this.getGameConfig.bind(this)
// 获取分享配置
// this.getShareConfig.bind(this),
// 获取云存档
// this.loadData.bind(this),
];
this.doLogin();
};
};
var instance = new SDKManage();
module.exports = instance;