Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
L
llewan-weixin-sdk
Project
Project
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
llewan
llewan-weixin-sdk
Commits
dab8bc25
Commit
dab8bc25
authored
Oct 26, 2018
by
liuxinjun
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
v1.009版本主要是模拟分享以及游戏在线时长统计
parent
032dc565
Hide whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
239 additions
and
62 deletions
+239
-62
sdk.js
assets/llewan-weixin-sdk/sdk.js
+236
-61
sdk_conf.js
assets/llewan-weixin-sdk/sdk_conf.js
+3
-1
No files found.
assets/llewan-weixin-sdk/sdk.js
View file @
dab8bc25
...
@@ -63,6 +63,12 @@ var sdk = {
...
@@ -63,6 +63,12 @@ var sdk = {
//视频失败回调
//视频失败回调
videoFail
:
null
,
videoFail
:
null
,
isGameStart
:
false
,
gameOnlineKey
:
"游戏在线"
,
shareStartTime
:
-
1
,
shareInfo
:
null
,
/**
/**
* @apiGroup A
* @apiGroup A
* @apiName init
* @apiName init
...
@@ -109,7 +115,7 @@ var sdk = {
...
@@ -109,7 +115,7 @@ var sdk = {
this
.
Post
(
this
.
ip2
+
this
.
Config
,
{},
function
(
d
)
{
this
.
Post
(
this
.
ip2
+
this
.
Config
,
{},
function
(
d
)
{
if
(
d
&&
d
.
c
==
1
)
{
if
(
d
&&
d
.
c
==
1
)
{
self
.
ConfigData
=
d
.
d
;
self
.
ConfigData
=
d
.
d
;
//2.初始化分享信息
//2.初始化分享信息
self
.
Post
(
self
.
ip2
+
self
.
Share
,
{},
function
(
d2
)
{
self
.
Post
(
self
.
ip2
+
self
.
Share
,
{},
function
(
d2
)
{
// console.log("初始化分享信息:",d2)
// console.log("初始化分享信息:",d2)
...
@@ -168,6 +174,13 @@ var sdk = {
...
@@ -168,6 +174,13 @@ var sdk = {
loginData
.
source_id2
=
option
.
query
.
source_id2
;
loginData
.
source_id2
=
option
.
query
.
source_id2
;
self
.
setItem
(
"deviceModel"
,
res
.
model
);
self
.
setItem
(
"deviceModel"
,
res
.
model
);
if
(
sdk_conf
.
game_online
)
{
//开启游戏统计情况下
self
.
gameStart
({},
null
);
}
wx
.
getNetworkType
({
wx
.
getNetworkType
({
success
(
res2
){
success
(
res2
){
loginData
.
network_type
=
res2
.
networkType
;
loginData
.
network_type
=
res2
.
networkType
;
...
@@ -296,23 +309,99 @@ var sdk = {
...
@@ -296,23 +309,99 @@ var sdk = {
let
self
=
this
;
let
self
=
this
;
wx
.
onHide
(
function
(
res
){
wx
.
onHide
(
function
(
res
){
//监听小游戏隐藏到后台事件。锁屏、按 HOME 键退到桌面、显示在聊天顶部等操作会触发此事件。
//监听小游戏隐藏到后台事件。锁屏、按 HOME 键退到桌面、显示在聊天顶部等操作会触发此事件。
console
.
log
(
"小游戏隐藏到后台"
);
console
.
log
(
"
sdk
小游戏隐藏到后台"
);
self
.
uploadSceneEvent
(
null
,
'隐藏小游戏到后台'
,
null
);
self
.
uploadSceneEvent
(
null
,
'隐藏小游戏到后台'
,
null
);
if
(
self
.
isGameStart
&&
sdk_conf
.
game_online
)
{
// var data = JSON.parse(this.getItem("游戏在线"));
// var nowTime = new Date().getTime();
// data.take_time = data.take_time+ ((nowTime/1000)-data.last_time);
// data.last_time = nowTime/1000;
// this.setItem("游戏在线",JOSN.stringify(data));
self
.
setSceneEnd
(
self
.
getGameOnlineKey
(),{});
}
if
(
self
.
shareStartTime
>
0
)
{
//隐藏发生在分享调起
console
.
log
(
"sdk 隐藏发生在分享调起"
);
}
});
});
wx
.
onShow
(
function
(
res
){
wx
.
onShow
(
function
(
res
){
//监听小游戏回到前台的事件
//监听小游戏回到前台的事件
console
.
log
(
"监听小游戏回到前台的事件"
);
console
.
log
(
"sdk 监听小游戏回到前台的事件"
);
var
nowTime
=
new
Date
().
getTime
();
if
(
self
.
isGameStart
&&
sdk_conf
.
game_online
)
{
var
onlineKey
=
self
.
getGameOnlineKey
();
});
var
dataString
=
self
.
getItem
(
onlineKey
);
var
data
=
JSON
.
parse
(
dataString
);
data
.
last_time
=
nowTime
/
1000
;
console
.
log
(
"onShow->"
+
onlineKey
,
JSON
.
stringify
(
data
));
//setInterval(function(res){
self
.
setItem
(
onlineKey
,
JSON
.
stringify
(
data
));
//微信定时执行
}
// console.log("微信定时10秒执行");
if
(
self
.
shareStartTime
>
0
)
{
var
shareTime
=
(
nowTime
/
1000
)
-
self
.
shareStartTime
;
if
(
shareTime
>=
sdk_conf
.
share_time_limit
)
{
console
.
log
(
"sdk 分享成功"
);
if
(
self
.
shareInfo
.
success
)
{
//分享成功 调用api记录分享数据
self
.
shareInfo
.
success
();
console
.
log
(
"sdk 分享成功回调"
);
}
//分享成功记录到服务器
var
option
=
{
'uid'
:
sdk
.
userid
,
'share_id'
:
self
.
shareInfo
.
sysid
};
self
.
Get
(
self
.
ip3
+
self
.
Logcommon
,
{
log_type
:
"ShareClick"
,
data
:
JSON
.
stringify
(
option
)
},
function
(
d
)
{
console
.
log
(
"sdk 分享成功记录到服务器"
);
});
}
else
{
console
.
log
(
"sdk 分享失败"
);
//分享失败 回调失败
if
(
self
.
shareInfo
.
fail
)
{
self
.
shareInfo
.
fail
();
console
.
log
(
"sdk 分享失败回调"
);
}
}
//重置分享数据
self
.
shareStartTime
=
-
1
;
self
.
shareInfo
=
null
;
console
.
log
(
"sdk 清空分享数据记录"
);
}
});
//},10000);
},
},
WeChatLoginNoAuth
(
callback
){
WeChatLoginNoAuth
(
callback
){
...
@@ -617,12 +706,16 @@ var sdk = {
...
@@ -617,12 +706,16 @@ var sdk = {
shareInfo
.
fail
=
obj
.
fail
;
shareInfo
.
fail
=
obj
.
fail
;
}
}
//.分享统计 测试: uid=11&share_id=22
var
option
=
{
'uid'
:
sdk
.
userid
,
'share_id'
:
shareInfo
.
sysid
};
var
nowTime
=
new
Date
().
getTime
();
// console.log('==1统计信息==', { log_type: "ShareClick", data: option })
self
.
shareStartTime
=
nowTime
/
1000
;
self
.
Get
(
self
.
ip3
+
self
.
Logcommon
,
{
log_type
:
"ShareClick"
,
data
:
JSON
.
stringify
(
option
)
},
function
(
d
)
{
self
.
shareInfo
=
shareInfo
;
// console.log("==1统计信息结果==", d)
});
// var option = {'uid': sdk.userid, 'share_id': shareInfo.sysid };
// self.Get(self.ip3 + self.Logcommon, { log_type: "ShareClick", data: JSON.stringify(option) }, function (d) {
// });
return
shareInfo
;
return
shareInfo
;
})
})
...
@@ -675,12 +768,14 @@ var sdk = {
...
@@ -675,12 +768,14 @@ var sdk = {
if
(
cc
.
sys
.
platform
===
cc
.
sys
.
WECHAT_GAME
)
{
if
(
cc
.
sys
.
platform
===
cc
.
sys
.
WECHAT_GAME
)
{
wx
.
shareAppMessage
(
shareInfo
);
wx
.
shareAppMessage
(
shareInfo
);
//.分享统计 测试: uid=11&share_id=22
var
nowTime
=
new
Date
().
getTime
();
var
option
=
{
'uid'
:
sdk
.
userid
,
'share_id'
:
shareInfo
.
sysid
};
self
.
shareStartTime
=
nowTime
/
1000
;
// console.log('==2统计信息==', { log_type: "ShareClick", data: option })
self
.
shareInfo
=
shareInfo
;
self
.
Get
(
self
.
ip3
+
self
.
Logcommon
,
{
log_type
:
"ShareClick"
,
data
:
JSON
.
stringify
(
option
)
},
function
(
d
)
{
// var option = {'uid': sdk.userid, 'share_id': shareInfo.sysid };
// console.log("==2统计信息结果==", d)
});
// self.Get(self.ip3 + self.Logcommon, { log_type: "ShareClick", data: JSON.stringify(option) }, function (d) {
// });
}
}
},
},
...
@@ -2115,19 +2210,54 @@ var sdk = {
...
@@ -2115,19 +2210,54 @@ var sdk = {
*/
*/
setSceneStart
(
sceneName
,
params
){
setSceneStart
(
sceneName
,
params
){
var
nowTime
=
new
Date
().
getTime
();
if
(
sceneName
==
this
.
gameOnlineKey
)
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
));
var
cacheData
=
this
.
getItem
(
sceneName
);
cc
.
sys
.
localStorage
.
setItem
(
sceneName
,
JSON
.
stringify
(
data
));
var
nowTime
=
new
Date
().
getTime
();
var
data
=
{};
if
(
cacheData
)
{
data
=
JSON
.
parse
(
cacheData
);
data
.
last_time
=
nowTime
/
1000
;
console
.
log
(
this
.
gameOnlineKey
,
JSON
.
stringify
(
data
));
this
.
setItem
(
sceneName
,
JSON
.
stringify
(
data
));
}
else
{
var
deviceModel
=
this
.
getItem
(
'deviceModel'
);
data
.
uid
=
this
.
getUser
().
uid
;
data
.
scene_name
=
sceneName
;
data
.
start_time
=
nowTime
/
1000
;
data
.
last_time
=
nowTime
/
1000
;
data
.
take_time
=
0
;
data
.
end_time
=
nowTime
/
1000
;
data
.
params
=
JSON
.
stringify
(
params
);
data
.
device_model
=
deviceModel
;
console
.
log
(
this
.
gameOnlineKey
,
JSON
.
stringify
(
data
));
this
.
setItem
(
sceneName
,
JSON
.
stringify
(
data
));
}
}
else
{
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
.
last_time
=
nowTime
/
1000
;
data
.
take_time
=
0
;
data
.
end_time
=
nowTime
/
1000
;
data
.
params
=
JSON
.
stringify
(
params
);
data
.
device_model
=
deviceModel
;
console
.
log
(
"场景数据开始"
,
JSON
.
stringify
(
data
));
this
.
setItem
(
sceneName
,
JSON
.
stringify
(
data
));
}
},
},
...
@@ -2145,7 +2275,7 @@ var sdk = {
...
@@ -2145,7 +2275,7 @@ var sdk = {
*/
*/
setSceneEnd
(
sceneName
,
params
,
callbackFunction
){
setSceneEnd
(
sceneName
,
params
,
callbackFunction
){
var
data
=
cc
.
sys
.
localStorage
.
getItem
(
sceneName
);
var
data
=
this
.
getItem
(
sceneName
);
console
.
log
(
"场景数据结束"
,
data
);
console
.
log
(
"场景数据结束"
,
data
);
...
@@ -2155,8 +2285,15 @@ var sdk = {
...
@@ -2155,8 +2285,15 @@ var sdk = {
{
{
data
=
JSON
.
parse
(
data
);
data
=
JSON
.
parse
(
data
);
data
.
end_time
=
nowTime
/
1000
;
data
.
end_time
=
nowTime
/
1000
;
data
.
take_time
=
(
nowTime
/
1000
)
-
data
.
start_time
;
data
.
take_time
=
data
.
take_time
+
((
nowTime
/
1000
)
-
data
.
last_time
);
console
.
log
(
"场景数据结束"
,
JSON
.
stringify
(
data
));
if
(
sceneName
==
this
.
gameOnlineKey
)
{
data
.
last_time
=
nowTime
/
1000
;
this
.
setItem
(
sceneName
,
JSON
.
stringify
(
data
));
console
.
log
(
"setSceneEnd->场景数据结束"
,
JSON
.
stringify
(
data
));
}
this
.
Post
(
this
.
ip3
+
this
.
Logcommon
,
{
log_type
:
"SceneLog"
,
data
:
JSON
.
stringify
(
data
)
},
function
(
d
)
{
this
.
Post
(
this
.
ip3
+
this
.
Logcommon
,
{
log_type
:
"SceneLog"
,
data
:
JSON
.
stringify
(
data
)
},
function
(
d
)
{
if
(
callbackFunction
)
if
(
callbackFunction
)
...
@@ -2176,51 +2313,89 @@ var sdk = {
...
@@ -2176,51 +2313,89 @@ var sdk = {
* @apiGroup C
* @apiGroup C
* @apiName gameStart
* @apiName gameStart
* @api {数据存储} 数据存储 gameStart(存) 玩家进入游戏界面开始调用
* @api {数据存储} 数据存储 gameStart(存) 玩家进入游戏界面开始调用
* @apiParam {JSON}
extraData
额外数据
* @apiParam {JSON}
params
额外数据
* @apiSuccessExample {json} 示例:
* @apiSuccessExample {json} 示例:
* sdk.gameStart({},null)
* sdk.gameStart({},null)
*/
*/
gameStart
(
extraData
,
callbackFunction
){
gameStart
(
params
,
callbackFunction
){
var
data
=
{};
if
(
sdk_conf
.
game_online
)
data
.
uid
=
this
.
getUser
().
uid
;
{
data
.
extra_data
=
JSON
.
stringify
(
extraData
);
this
.
setSceneStart
(
this
.
getGameOnlineKey
(),
params
);
this
.
Post
(
this
.
ip3
+
this
.
Logcommon
,
{
log_type
:
"GameStartLog"
,
data
:
JSON
.
stringify
(
data
)
},
function
(
d
)
{
this
.
isGameStart
=
true
;
}
else
if
(
callbackFunction
)
{
console
.
error
(
"您没有打开游戏在线时长统计"
);
}
// var nowTime = new Date().getTime();
// var data = JSON.parse(this.getItem("游戏在线"));
// data.last_time = nowTime/1000;
// this.setItem("游戏在线",JSON.stringify(data));
},
getGameOnlineKey
()
{
if
(
sdk_conf
.
game_online
)
{
if
(
this
.
gameOnlineKey
==
'游戏在线'
)
{
{
callbackFunction
(
d
);
//如果当前是默认游戏在线名称
this
.
gameOnlineKey
=
this
.
gameOnlineKey
+
this
.
formatTime
(
new
Date
(),
"date"
,
""
);
}
else
{
//已经生成了游戏在线key
var
nowGameKey
=
'游戏在线'
+
this
.
formatTime
(
new
Date
(),
"date"
,
""
);
if
(
this
.
gameOnlineKey
==
nowGameKey
)
{
//如果还在当天之内
}
else
{
//如果已经过了一天了,做最后一次数据上传
this
.
setSceneEnd
(
this
.
gameOnlineKey
,{});
//修改当前在线的key
this
.
gameOnlineKey
=
nowGameKey
;
//并且开始新的游戏开始
this
.
setSceneStart
(
this
.
gameOnlineKey
,{});
}
}
}
});
//this.setOnline(0,0,callbackFunction);
return
this
.
gameOnlineKey
;
}
else
{
console
.
error
(
"您没有打开游戏在线时长统计"
);
}
},
},
/**
/**
* @apiGroup C
* @apiGroup C
* @apiName gameOver
* @apiName gameOver
* @api {数据存储} 数据存储 gameOver(存) 玩家结束游戏调用
* @api {数据存储} 数据存储 gameOver(存) 玩家结束游戏调用
* @apiParam {JSON}
extraData
额外数据
* @apiParam {JSON}
params
额外数据
* @apiSuccessExample {json} 示例:
* @apiSuccessExample {json} 示例:
* sdk.gameOver({},null)
* sdk.gameOver({},null)
*/
*/
gameOver
(
extraData
,
callbackFunction
){
gameOver
(
params
,
callbackFunction
){
//this.setOnline(0,1,callbackFunction);
var
data
=
{};
data
.
uid
=
this
.
getUser
().
uid
;
if
(
sdk_conf
.
game_online
)
data
.
extra_data
=
JSON
.
stringify
(
extraData
);
{
this
.
setSceneEnd
(
this
.
getGameOnlineKey
(),
params
);
this
.
Post
(
this
.
ip3
+
this
.
Logcommon
,
{
log_type
:
"GameOverLog"
,
data
:
JSON
.
stringify
(
data
)
},
function
(
d
)
{
}
else
{
if
(
callbackFunction
)
console
.
error
(
"您没有打开游戏在线时长统计"
);
{
}
callbackFunction
(
d
);
}
});
},
},
...
...
assets/llewan-weixin-sdk/sdk_conf.js
View file @
dab8bc25
...
@@ -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.00
8
'
,
llewan_sdk_version
:
'1.00
9
'
,
//.接口加密key,切勿修改
//.接口加密key,切勿修改
md5_key
:
'$5dfjr$%dsadsfdsii'
,
md5_key
:
'$5dfjr$%dsadsfdsii'
,
...
@@ -36,6 +36,8 @@ var sdk_conf = {
...
@@ -36,6 +36,8 @@ var sdk_conf = {
},
},
default_upload_row_count
:
20
,
default_upload_row_count
:
20
,
default_upload_interval
:
120
,
default_upload_interval
:
120
,
//游戏在线统计时长开启与关闭。true为开启,false为关闭
game_online
:
true
,
};
};
module
.
exports
=
sdk_conf
;
module
.
exports
=
sdk_conf
;
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment