Commit 698da52a authored by liuxinjun's avatar liuxinjun

v1.007版本

parent 38795b76
...@@ -39,7 +39,7 @@ var sdk = { ...@@ -39,7 +39,7 @@ var sdk = {
set: "/game/set", set: "/game/set",
get: "/game/get", get: "/game/get",
time: "/game/time", time: "/game/time",
score: "/game/time",
ConfigData: { ConfigData: {
"config1": {}, "config1": {},
...@@ -132,7 +132,7 @@ var sdk = { ...@@ -132,7 +132,7 @@ var sdk = {
if(this.getUser()){ if(this.getUser()){
this.userid = this.getUser().uid; this.userid = this.getUser().uid;
} }
if(this.userid&&self.initFlag===0){ if(this.userid&&self.initFlag===0){
//2.统计:分享信息 测试: uid=56032607&share_id=22&share_uid=56032607 //2.统计:分享信息 测试: uid=56032607&share_id=22&share_uid=56032607
var option = wx.getLaunchOptionsSync(); var option = wx.getLaunchOptionsSync();
// console.log("==option==", option) // console.log("==option==", option)
...@@ -167,7 +167,7 @@ var sdk = { ...@@ -167,7 +167,7 @@ var sdk = {
loginData.source_id = option.query.source_id; loginData.source_id = option.query.source_id;
loginData.source_id2 = option.query.source_id2; loginData.source_id2 = option.query.source_id2;
self.setItem("deviceModel",res.model);
wx.getNetworkType({ wx.getNetworkType({
success(res2){ success(res2){
loginData.network_type = res2.networkType; loginData.network_type = res2.networkType;
...@@ -287,8 +287,32 @@ var sdk = { ...@@ -287,8 +287,32 @@ var sdk = {
} }
this.setWeChatListener();
} }
},
setWeChatListener()
{
wx.onHide(function(res){
//监听小游戏隐藏到后台事件。锁屏、按 HOME 键退到桌面、显示在聊天顶部等操作会触发此事件。
console.log("小游戏隐藏到后台");
this.uploadSceneEvent(null,'隐藏小游戏到后台',null);
});
wx.onShow(function(res){
//监听小游戏回到前台的事件
console.log("监听小游戏回到前台的事件");
});
//setInterval(function(res){
//微信定时执行
// console.log("微信定时10秒执行");
//},10000);
}, },
/** /**
* @apiGroup C * @apiGroup C
...@@ -430,7 +454,7 @@ var sdk = { ...@@ -430,7 +454,7 @@ var sdk = {
self.button.hide(); self.button.hide();
//.登录成功,重新初始化 //.登录成功,重新初始化
self.userid = data.d.uid; self.userid = data.d.uid;
self.init({},(d)=>{}) //self.init({},(d)=>{})
callback(data.d); callback(data.d);
}else{ }else{
...@@ -1080,6 +1104,18 @@ var sdk = { ...@@ -1080,6 +1104,18 @@ var sdk = {
getItem(key){ getItem(key){
return cc.sys.localStorage.getItem(key); return cc.sys.localStorage.getItem(key);
}, },
/**
* @apiGroup C
* @apiName removeItem
* @api {数据存储} 数据存储 removeItem(删)
* @apiParam {String} key 键
*
* @apiSuccessExample {json} 示例:
* sdk.removeItem("nick")
*/
removeItem(key){
cc.sys.localStorage.removeItem(key);
},
/** /**
* @apiGroup C * @apiGroup C
* @apiName onMessage * @apiName onMessage
...@@ -1365,7 +1401,7 @@ var sdk = { ...@@ -1365,7 +1401,7 @@ var sdk = {
* }; * };
* sdk.videoFail = function(){ * sdk.videoFail = function(){
* //视频失败处理逻辑 * //视频失败处理逻辑
* this.failFunction(); * this.failFunction();`
* }; * };
* var videoAd = sdk.createRewardedVideoAd(); * var videoAd = sdk.createRewardedVideoAd();
* videoAd.load().then(() => videoAd.show()); * videoAd.load().then(() => videoAd.show());
...@@ -1676,50 +1712,7 @@ var sdk = { ...@@ -1676,50 +1712,7 @@ var sdk = {
var localData= {'data': value,'expireTime':expireTime}; var localData= {'data': value,'expireTime':expireTime};
cc.sys.localStorage.setItem(key, JSON.stringify(localData)); cc.sys.localStorage.setItem(key, JSON.stringify(localData));
}, },
/**
* @apiGroup C
* @apiName getLocalCache
* @api {数据存储} 数据存储 getLocalCache(取)
* @apiParam {String} key 键
*
* @apiSuccessExample {json} 示例:
* var nick = sdk.getLocalCache("nick")
*/
getLocalCache(key){
var nowTime = new Date().getTime();
console.log("sdk getLocalCache nowTime",nowTime);
var localData = cc.sys.localStorage.getItem(key);
console.log("sdk getLocalCache "+key+" 本地获取值:"+localData);
if(localData)
{
var data = JSON.parse(localData);
var expireTime = data.expireTime;
if(nowTime>=expireTime)
{
cc.sys.localStorage.removeItem(key);
console.log("sdk getLocalCache dataKey : "+key+" is expire");
return 0;
}else
{
var data = data.data;
console.log("sdk getLocalCache dataKey : "+key+" is "+data);
return data;
}
}else
{
//本地不存在数据,应该去远程服务器拿数据
return -1;
}
},
/** /**
* @apiGroup C * @apiGroup C
* @apiName getLocalCache * @apiName getLocalCache
...@@ -1853,27 +1846,137 @@ var sdk = { ...@@ -1853,27 +1846,137 @@ var sdk = {
return str; return str;
}, },
/**
* @apiGroup C
* @apiName uploadSceneEvent
* @api {数据存储} 数据存储 uploadSceneEvent(存) 将事件信息发送到乐玩服务器记录
* @apiParam {JsonArray} eventJsonArray 要上传的json数组
* sdk.uploadSceneEvent(null,'游戏结束',null) //游戏上传场景数据
* sdk.uploadSceneEvent(jsonArray,'',null) //将要上传的数据传递过来
*/
uploadSceneEvent(eventJsonArray,uploadEvent,callbackFunction){
var lastUploadDataTime = this.getItem("lastUploadDataTime");
var nowTime = new Date().getTime()/1000;
console.log("nowTime:"+nowTime+";lastUploadDataTime:"+lastUploadDataTime);
if(lastUploadDataTime)
{
//存在更新时间 暂不做任何处理
}else
{
//上次更新时间没有就等于当前时间
lastUploadDataTime = nowTime;
this.setItem("lastUploadDataTime",lastUploadDataTime);
}
if(eventJsonArray===null)
{
//如果没有传递要上传的数据
var eventData = this.getItem("eventData");
try
{
eventJsonArray = JSON.parse(eventData);
console.log(uploadEvent);
this.uploadData(eventJsonArray,uploadEvent,callbackFunction);
} catch (e) {
console.error("这次没有数据!");
}
}else if(eventJsonArray.data.length>=this.getConfig4().uploadRowCount)
{
uploadEvent="数据累计("+this.getConfig4().uploadRowCount+"条)上传";
console.log(uploadEvent);
this.uploadData(eventJsonArray,uploadEvent,callbackFunction);
}else if((nowTime-lastUploadDataTime)>=this.getConfig4().uploadInterval)
{
uploadEvent="定时("+this.getConfig4().uploadInterval+"秒)上传";
console.log(uploadEvent);
this.uploadData(eventJsonArray,uploadEvent,callbackFunction);
}
},
uploadData(eventJsonArray,uploadEvent,callbackFunction)
{
var nowTime = new Date().getTime()/1000;
eventJsonArray.upload_event=uploadEvent;
//达到一定数量级
console.log("当前上传数据",eventJsonArray);
this.Post(this.ip3 + this.Logcommon, { log_type: "SceneEventLog", data: JSON.stringify(eventJsonArray) }, function (d) {
if(callbackFunction)
{
callbackFunction(d);
}
});
//上传完了之后删除数据
this.removeItem("eventData");
this.setItem("lastUploadDataTime",nowTime);
},
/** /**
* @apiGroup C * @apiGroup C
* @apiName setEvent * @apiName setSceneEvent
* @api {数据存储} 数据存储 setEvent(存) 将事件信息发送到乐玩服务器记录 * @api {数据存储} 数据存储 setEvent(存) 将事件信息发送到乐玩服务器记录
* @apiParam {String} sceneName 场景名称,比如:第1关,第2关,厨房,矿坑
* @apiParam {String} eventName 事件名称,比如:点击、加载、触摸、移动 * @apiParam {String} eventName 事件名称,比如:点击、加载、触摸、移动
* @apiParam {String} eventId 事件ID 通常谢按钮的英文或者中文名字,比如:首页-开始闯关 * @apiParam {String} eventId 事件ID 通常谢按钮的英文或者中文名字,比如:首页-开始闯关
* @apiParam {JSON} params 参数相关 * @apiParam {JSON} params 参数相关
* @apiSuccessExample {json} 示例: * @apiSuccessExample {json} 示例:
* sdk.setEvent("点击","首页-开始闯关",{'uid':'8975621'},null) * sdk.setEvent("点击","首页-开始闯关",{'uid':'8975621'},null)
*/ */
setEvent(eventName,eventId,params,callbackFunction){ setSceneEvent(sceneName,eventName,eventId,params,callbackFunction){
var data = {}; var eventData = this.getItem("eventData");
data.uid=this.getUser().uid;
data.event_id = eventId; var deviceModel = this.getItem('deviceModel');
data.event_name =eventName;
data.event_params = JSON.stringify(params); var eventJsonArray = {};
var data = [];
var insertData ={};
if(eventData)
{
eventJsonArray = JSON.parse(eventData);
data = eventJsonArray.data;
//console.log("已经存在:"+data);
}
insertData.uid=this.getUser().uid;
insertData.scene_name= sceneName;
insertData.event_id = eventId;
insertData.event_name =eventName;
insertData.params = JSON.stringify(params);
insertData.device_model = deviceModel;
insertData.event_time = this.formatTime(new Date(),"time","-")
//console.log("添加数据",JSON.stringify(insertData));
data.push(insertData);
eventJsonArray.data = data;
//console.log("添加后:"+JSON.stringify(eventJsonArray.data));
this.setItem("eventData",JSON.stringify(eventJsonArray));
this.uploadSceneEvent(eventJsonArray,'',callbackFunction);
this.Post(this.ip3 + this.Logcommon, { log_type: "EventLog", data: JSON.stringify(data) }, function (d) {
callbackFunction(d);
});
}, },
...@@ -1894,7 +1997,10 @@ var sdk = { ...@@ -1894,7 +1997,10 @@ var sdk = {
this.Post(this.ip3 + this.Logcommon, { log_type: "ScoreLog", data: JSON.stringify(data) }, function (d) { this.Post(this.ip3 + this.Logcommon, { log_type: "ScoreLog", data: JSON.stringify(data) }, function (d) {
callbackFunction(d); if(callbackFunction)
{
callbackFunction(d);
}
}); });
}, },
...@@ -1918,9 +2024,80 @@ var sdk = { ...@@ -1918,9 +2024,80 @@ var sdk = {
this.Post(this.ip3 + this.Logcommon, { log_type: "OnlineLog", data: JSON.stringify(data) }, function (d) { this.Post(this.ip3 + this.Logcommon, { log_type: "OnlineLog", data: JSON.stringify(data) }, function (d) {
callbackFunction(d); if(callbackFunction)
{
callbackFunction(d);
}
}); });
},
/**
* @apiGroup C
* @apiName sceneStart
* @api {数据存储} 数据存储 sceneStart(存) 玩家进场景界面开始调用
* @apiParam {String} sceneName 场景名称,比如:第1关,第2关,厨房,矿坑,如果有调用setSceneEvent 两个传递场景名称必须要一样
* @apiParam {JSON} extraData 额外数据,可以传递从哪里进入场景,比如:正常进入 或者 奖励进入
* @apiSuccessExample {json} 示例:
* sdk.sceneStart('第1关','正常进入',null)
*/
setSceneStart(sceneName,params){
var nowTime = new Date().getTime();
var deviceModel = this.getItem('deviceModel');
var data = {};
data.uid=this.getUser().uid;
data.scene_name = sceneName;
data.start_time = nowTime/1000;
data.take_time = 0;
data.end_time = nowTime/1000;
data.params = JSON.stringify(params);
data.device_model = device_model;
console.log("场景数据开始",JSON.stringify(data));
cc.sys.localStorage.setItem(sceneName,JSON.stringify(data));
},
/**
* @apiGroup C
* @apiName sceneEnd
* @api {数据存储} 数据存储 sceneEnd(存) 玩家结束游戏场景调用
* @apiParam {String} sceneName 场景名称,比如:第1关,第2关,厨房,矿坑,如果有调用setSceneEvent 两个传递场景名称必须要一样
* @apiParam {JSON} extraData 额外数据,如果是正常结束可以传递 从哪里退出的场景,比如:正常退出 或者 返回按钮退出
* @apiSuccessExample {json} 示例:
* sdk.sceneEnd('第1关','返回按钮退出',(d)=>{
* console.log("场景回调",d);
*})
*/
setSceneEnd(sceneName,params,callbackFunction){
var data = cc.sys.localStorage.getItem(sceneName);
console.log("场景数据结束",data);
var nowTime = new Date().getTime();
if(data)
{
data = JSON.parse(data);
data.end_time = nowTime/1000;
data.take_time = (nowTime/1000)-data.start_time;
console.log("场景数据结束",JSON.stringify(data));
this.Post(this.ip3 + this.Logcommon, { log_type: "SceneLog", data: JSON.stringify(data) }, function (d) {
if(callbackFunction)
{
callbackFunction(d);
}
});
}
}, },
/** /**
...@@ -1939,7 +2116,10 @@ var sdk = { ...@@ -1939,7 +2116,10 @@ var sdk = {
this.Post(this.ip3 + this.Logcommon, { log_type: "GameStartLog", data: JSON.stringify(data) }, function (d) { this.Post(this.ip3 + this.Logcommon, { log_type: "GameStartLog", data: JSON.stringify(data) }, function (d) {
callbackFunction(d); if(callbackFunction)
{
callbackFunction(d);
}
}); });
//this.setOnline(0,0,callbackFunction); //this.setOnline(0,0,callbackFunction);
...@@ -1964,7 +2144,10 @@ var sdk = { ...@@ -1964,7 +2144,10 @@ var sdk = {
this.Post(this.ip3 + this.Logcommon, { log_type: "GameOverLog", data: JSON.stringify(data) }, function (d) { this.Post(this.ip3 + this.Logcommon, { log_type: "GameOverLog", data: JSON.stringify(data) }, function (d) {
callbackFunction(d); if(callbackFunction)
{
callbackFunction(d);
}
}); });
}, },
......
...@@ -15,7 +15,7 @@ var sdk_conf = { ...@@ -15,7 +15,7 @@ var sdk_conf = {
//.开发平台:由sdk维护者确定,weixin 或 toutiao,接入游戏的技术不需要修改 //.开发平台:由sdk维护者确定,weixin 或 toutiao,接入游戏的技术不需要修改
dev_platform: 'weixin', dev_platform: 'weixin',
//.乐玩sdk的版本号:由sdk维护者确定,接入游戏的技术不需要修改 //.乐玩sdk的版本号:由sdk维护者确定,接入游戏的技术不需要修改
llewan_sdk_version:'1.006', llewan_sdk_version:'1.007',
//.接口加密key,切勿修改 //.接口加密key,切勿修改
md5_key: '$5dfjr$%dsadsfdsii', md5_key: '$5dfjr$%dsadsfdsii',
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment