Skip to content
项目
群组
代码片段
帮助
当前项目
正在载入...
登录 / 注册
切换导航面板
S
sdk_release
概览
概览
详情
活动
周期分析
版本库
存储库
文件
提交
分支
标签
贡献者
分支图
比较
统计图
问题
0
议题
0
列表
看板
标记
里程碑
JIRA
JIRA
合并请求
0
合并请求
0
CI / CD
CI / CD
流水线
作业
日程表
图表
维基
Wiki
代码片段
代码片段
成员
成员
折叠边栏
关闭边栏
活动
图像
聊天
创建新问题
作业
提交
问题看板
Open sidebar
open
sdk_release
Commits
aa2b803b
提交
aa2b803b
authored
12月 03, 2019
作者:
王进
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
同步微信版本
上级
ef018f1f
隐藏空白字符变更
内嵌
并排
正在显示
1 个修改的文件
包含
69 行增加
和
49 行删除
+69
-49
SDK.ts
qq_minigame_release/SDK.ts
+69
-49
没有找到文件。
qq_minigame_release/SDK.ts
浏览文件 @
aa2b803b
/**
/**
* 鲸鱼游戏QQ小游戏接入库
* 鲸鱼游戏QQ小游戏接入库
* @author 推广技术部
* @author 推广技术部
* @time: 2019-
09-25
* @time: 2019-
12-03
*/
*/
class
QQSDK
{
class
QQSDK
{
private
sdkVersion
:
string
=
'1.
1
'
private
sdkVersion
:
string
=
'1.
2
'
public
constructor
()
{
public
constructor
()
{
this
.
sdkInit
()
this
.
sdkInit
()
this
.
timerInit
();
this
.
timerInit
();
...
@@ -60,14 +60,10 @@ class QQSDK {
...
@@ -60,14 +60,10 @@ class QQSDK {
product_code
:
qq_SDKConfig
.
productCode
,
product_code
:
qq_SDKConfig
.
productCode
,
activity_id
:
_self
.
actId
activity_id
:
_self
.
actId
}
}
let
res
=
await
this
.
sdkRequest
(
qqLinks
.
getActShareInfo
,
postData
,
'POST'
).
catch
(
err
=>
{
let
{
code
,
data
}
=
await
this
.
sdkRequest
(
qqLinks
.
getActShareInfo
,
postData
,
'POST'
).
catch
(
err
=>
{
console
.
log
(
"@@SDK异常::getActiveShareInfo"
,
err
);
console
.
log
(
"@@SDK异常::getActiveShareInfo"
,
err
);
});
});
if
(
res
.
code
==
0
)
{
return
code
==
0
?
data
:
0
;
return
res
.
data
;
}
else
{
return
0
;
}
}
}
public
async
Login
()
{
public
async
Login
()
{
const
_selt
=
this
;
const
_selt
=
this
;
...
@@ -76,12 +72,12 @@ class QQSDK {
...
@@ -76,12 +72,12 @@ class QQSDK {
appid
:
qq_SDKConfig
.
appid
,
appid
:
qq_SDKConfig
.
appid
,
code
:
loginPromise
.
code
code
:
loginPromise
.
code
})
})
let
sdkLoginData
=
await
_selt
.
sdkRequest
(
qqLinks
.
init
,
loginPostData
).
catch
(
err
=>
{
let
{
code
,
data
}
=
await
_selt
.
sdkRequest
(
qqLinks
.
init
,
loginPostData
).
catch
(
err
=>
{
_selt
.
Login
()
_selt
.
Login
()
});
});
if
(
sdkLoginData
.
code
==
0
)
{
if
(
code
==
0
)
{
_selt
.
ReportParams
.
openId
=
_selt
.
sdkParams
.
open_id
=
_selt
.
sdkParams
.
uniqueid
=
_selt
.
heartParams
.
uuid
=
sdkLoginData
.
data
.
openid
;
_selt
.
ReportParams
.
openId
=
_selt
.
sdkParams
.
open_id
=
_selt
.
sdkParams
.
uniqueid
=
_selt
.
heartParams
.
uuid
=
data
.
openid
;
_selt
.
sdkParams
.
session_key
=
sdkLoginData
.
data
.
session_key
;
_selt
.
sdkParams
.
session_key
=
data
.
session_key
;
if
(
_selt
.
actId
)
{
if
(
_selt
.
actId
)
{
let
shareInfo
=
{
let
shareInfo
=
{
activity_id
:
_selt
.
actId
,
activity_id
:
_selt
.
actId
,
...
@@ -98,28 +94,31 @@ class QQSDK {
...
@@ -98,28 +94,31 @@ class QQSDK {
private
async
sdkActive
()
{
private
async
sdkActive
()
{
const
_selt
=
this
const
_selt
=
this
console
.
log
(
"@@SDK激活"
,
_selt
.
sdkParams
)
console
.
log
(
"@@SDK激活"
,
_selt
.
sdkParams
)
let
sdkActData
=
await
_selt
.
sdkRequest
(
qqLinks
.
active
,
this
.
sdkParams
).
catch
(
err
=>
{
let
{
code
,
data
,
msg
}
=
await
_selt
.
sdkRequest
(
qqLinks
.
active
,
this
.
sdkParams
).
catch
(
err
=>
{
console
.
log
(
"@@SDK激活异常:"
,
err
)
console
.
log
(
"@@SDK激活异常:"
,
err
)
_selt
.
sdkAlert
(
"@@SDK激活异常:"
+
err
)
_selt
.
sdkAlert
(
"@@SDK激活异常:"
+
err
)
});
});
_selt
.
sdkParams
.
pay_channel
=
sdkActData
.
data
.
default_pay_channel
;
if
(
code
==
0
)
{
_selt
.
getAuthorize
=
sdkActData
.
data
.
weixin_from
;
_selt
.
sdkParams
.
pay_channel
=
data
.
default_pay_channel
;
_selt
.
ActiReport
();
// 上报激活
_selt
.
ActiReport
();
// 上报激活
}
else
{
_selt
.
sdkAlert
(
msg
);
}
return
_selt
.
sdkLogin
();
return
_selt
.
sdkLogin
();
}
}
private
async
sdkLogin
()
{
private
async
sdkLogin
()
{
const
_selt
=
this
const
_selt
=
this
// 获取用户信息
// 获取用户信息
_selt
.
sdkParams
.
token
=
''
// 强制清空登录toekn
_selt
.
sdkParams
.
token
=
''
// 强制清空登录toekn
let
sdkLoginData
=
await
_selt
.
sdkRequest
(
qqLinks
.
login
,
_selt
.
sdkParams
).
catch
(
err
=>
{
let
{
code
,
data
}
=
await
_selt
.
sdkRequest
(
qqLinks
.
login
,
_selt
.
sdkParams
).
catch
(
err
=>
{
console
.
log
(
"@@SDK登陆异常:"
,
err
)
console
.
log
(
"@@SDK登陆异常:"
,
err
)
_selt
.
sdkAlert
(
"@@SDK登陆异常:"
+
err
)
_selt
.
sdkAlert
(
"@@SDK登陆异常:"
+
err
)
});
});
if
(
sdkLoginData
.
code
==
0
)
{
if
(
code
==
0
)
{
// 根据SDK返回用户状态来判断用户是否注册
// 根据SDK返回用户状态来判断用户是否注册
_selt
.
sdkParams
.
token
=
sdkLoginData
.
data
.
token
// 记录用户toekn
_selt
.
sdkParams
.
token
=
data
.
token
// 记录用户toekn
_selt
.
ReportParams
.
userId
=
_selt
.
heartParams
.
userid
=
sdkLoginData
.
data
.
uid
// 记录用户ID
_selt
.
ReportParams
.
userId
=
_selt
.
heartParams
.
userid
=
data
.
uid
// 记录用户ID
let
LoginCallBack
=
_selt
.
deepCopy
({},
sdkLoginData
.
data
,
{
let
LoginCallBack
=
_selt
.
deepCopy
({},
data
,
{
os
:
_selt
.
sdkParams
.
os
,
// 返回系统类型IOS或者android
os
:
_selt
.
sdkParams
.
os
,
// 返回系统类型IOS或者android
session_key
:
_selt
.
sdkParams
.
session_key
// 返回session_key
session_key
:
_selt
.
sdkParams
.
session_key
// 返回session_key
})
})
...
@@ -128,8 +127,7 @@ class QQSDK {
...
@@ -128,8 +127,7 @@ class QQSDK {
}
}
}
}
public
async
payOrderStatus
(
Params
)
{
public
async
payOrderStatus
(
Params
)
{
let
payResult
=
await
this
.
payOrder
(
Params
,
false
);
return
await
this
.
payOrder
(
Params
,
false
);
return
payResult
;
}
}
// SDK支付接口
// SDK支付接口
public
async
payOrder
(
Params
,
showSDKAlert
=
true
)
{
public
async
payOrder
(
Params
,
showSDKAlert
=
true
)
{
...
@@ -198,52 +196,49 @@ class QQSDK {
...
@@ -198,52 +196,49 @@ class QQSDK {
return
3023
;
return
3023
;
}
else
{
// 输出订单失败消息
}
else
{
// 输出订单失败消息
const
errmsg
=
res
.
msg
||
'支付失败..'
const
errmsg
=
res
.
msg
||
'支付失败..'
if
(
showSDKAlert
)
_selt
.
sdkAlert
(
errmsg
);
if
(
showSDKAlert
)
{
const
params
=
{
title
:
'支付提示'
,
content
:
errmsg
,
showCancel
:
false
}
_selt
.
showModal
(
params
);
}
return
0
;
return
0
;
}
}
}
}
private
async
getCoins
(
orderParams
)
{
// 通知服务端扣费
private
async
getCoins
(
orderParams
)
{
// 通知服务端扣费
console
.
log
(
"@@SDK通知扣费"
,
orderParams
)
console
.
log
(
"@@SDK通知扣费"
,
orderParams
)
let
coinsResult
=
await
this
.
sdkRequest
(
qqLinks
.
pay
,
orderParams
).
catch
(
err
=>
{
return
await
this
.
sdkRequest
(
qqLinks
.
pay
,
orderParams
).
catch
(
err
=>
{
console
.
log
(
"@@SDK异常::getCoins"
,
err
);
console
.
log
(
"@@SDK异常::getCoins"
,
err
);
});
});
return
coinsResult
;
}
}
public
async
checkUserPhoneBind
()
{
// 查询用户绑定状态
public
async
checkUserPhoneBind
()
{
// 查询用户绑定状态
const
_selt
=
this
;
const
_selt
=
this
;
let
postData
=
_selt
.
deepCopy
({},
_selt
.
sdkParams
,
{
uid
:
_selt
.
ReportParams
.
userId
});
let
postData
=
_selt
.
deepCopy
({},
_selt
.
sdkParams
,
{
uid
:
_selt
.
ReportParams
.
userId
});
let
bindType
=
await
_selt
.
sdkRequest
(
qqLinks
.
bindPhone
,
postData
);
let
{
code
}
=
await
_selt
.
sdkRequest
(
qqLinks
.
bindPhone
,
postData
);
return
(
bindType
.
code
==
0
);
return
(
code
==
0
);
}
}
public
async
phoneCode
(
phoneInfo
,
callback
)
{
public
async
phoneCode
(
phoneInfo
)
{
const
_selt
=
this
;
const
_selt
=
this
;
let
postData
=
this
.
deepCopy
({},
_selt
.
sdkParams
,
phoneInfo
);
let
postData
=
this
.
deepCopy
({},
_selt
.
sdkParams
,
phoneInfo
);
postData
.
type
=
'SDK.BIND_MOBILE'
;
// 小程序专属短信类型
postData
.
type
=
'SDK.BIND_MOBILE'
;
// 小程序专属短信类型
// 发送验证码接口
// 发送验证码接口
let
res
=
await
this
.
sdkRequest
(
qqLinks
.
sendCode
,
postData
).
catch
(
err
=>
{
let
{
code
}
=
await
this
.
sdkRequest
(
qqLinks
.
sendCode
,
postData
).
catch
(
err
=>
{
console
.
log
(
"@@SDK::验证码发送失败"
,
err
);
console
.
log
(
"@@SDK::验证码发送失败"
,
err
);
_selt
.
sdkAlert
(
"发送失败,请重试.."
);
_selt
.
sdkAlert
(
"发送失败,请重试.."
);
});
});
if
(
res
.
code
==
0
)
{
return
code
==
0
;
callback
(
true
);
}
else
{
callback
(
false
);
}
}
}
public
async
userPhone
(
phoneInfo
,
callback
)
{
public
async
userPhone
(
phoneInfo
)
{
const
_selt
=
this
;
const
_selt
=
this
;
let
postData
=
this
.
deepCopy
({},
_selt
.
sdkParams
,
phoneInfo
);
let
postData
=
this
.
deepCopy
({},
_selt
.
sdkParams
,
phoneInfo
);
postData
.
source
=
'WEIXIN'
;
// 用户平台来源
postData
.
source
=
'WEIXIN'
;
// 用户平台来源
//保存用户手机信息
//保存用户手机信息
let
res
=
await
this
.
sdkRequest
(
qqLinks
.
saveNum
,
postData
).
catch
(
err
=>
{
let
{
code
,
msg
}
=
await
this
.
sdkRequest
(
qqLinks
.
saveNum
,
postData
).
catch
(
err
=>
{
console
.
log
(
"@@SDK::保存手机失败"
,
err
);
console
.
log
(
"@@SDK::保存手机失败"
,
err
);
});
});
if
(
res
.
code
==
0
)
{
return
code
==
0
;
callback
(
true
);
}
else
{
console
.
log
(
"@@绑定失败::"
,
res
.
msg
);
callback
(
false
);
}
}
}
public
async
checkUserAdvised
()
{
// 防沉迷验证
public
async
checkUserAdvised
()
{
// 防沉迷验证
const
_selt
=
this
;
const
_selt
=
this
;
...
@@ -373,7 +368,7 @@ class QQSDK {
...
@@ -373,7 +368,7 @@ class QQSDK {
const
_selt
=
this
const
_selt
=
this
await
(
qq
as
any
).
getNetworkType
({
await
(
qq
as
any
).
getNetworkType
({
success
:
(
res
)
=>
{
success
:
(
res
)
=>
{
_selt
.
ReportParams
.
networkType
=
_selt
.
heartParams
.
info
.
network
=
res
.
networkType
_selt
.
ReportParams
.
networkType
=
_selt
.
heartParams
.
info
.
network
=
res
.
networkType
},
},
fail
:
(
err
)
=>
{
fail
:
(
err
)
=>
{
console
.
log
(
"@@SDK错误->getNetworkType"
,
err
)
console
.
log
(
"@@SDK错误->getNetworkType"
,
err
)
...
@@ -385,7 +380,7 @@ class QQSDK {
...
@@ -385,7 +380,7 @@ class QQSDK {
await
(
qq
as
any
).
getSystemInfo
({
await
(
qq
as
any
).
getSystemInfo
({
success
:
(
res
)
=>
{
success
:
(
res
)
=>
{
console
.
log
(
'##'
,
res
);
console
.
log
(
'##'
,
res
);
_selt
.
ReportParams
.
model
=
_selt
.
sdkParams
.
equipmentname
=
_selt
.
heartParams
.
info
.
model
=
res
.
model
_selt
.
ReportParams
.
model
=
_selt
.
sdkParams
.
equipmentname
=
_selt
.
heartParams
.
info
.
model
=
res
.
model
_selt
.
ReportParams
.
screenWidth
=
res
.
screenWidth
_selt
.
ReportParams
.
screenWidth
=
res
.
screenWidth
_selt
.
ReportParams
.
screenHeight
=
res
.
screenHeight
_selt
.
ReportParams
.
screenHeight
=
res
.
screenHeight
_selt
.
heartParams
.
resolution
=
res
.
screenWidth
+
'*'
+
res
.
screenHeight
_selt
.
heartParams
.
resolution
=
res
.
screenWidth
+
'*'
+
res
.
screenHeight
...
@@ -445,6 +440,32 @@ class QQSDK {
...
@@ -445,6 +440,32 @@ class QQSDK {
const
obj
=
this
.
heartParams
;
const
obj
=
this
.
heartParams
;
const
tmp
=
Date
.
parse
(
new
Date
().
toString
()).
toString
()
// 获取请求的时间戳秒
const
tmp
=
Date
.
parse
(
new
Date
().
toString
()).
toString
()
// 获取请求的时间戳秒
obj
.
time
=
obj
.
gentime
=
tmp
.
substr
(
0
,
10
);
obj
.
time
=
obj
.
gentime
=
tmp
.
substr
(
0
,
10
);
obj
.
action
=
'heartBeat'
;
obj
.
content
.
click_times
=
null
;
this
.
reportEncode
(
obj
);
setTimeout
(
function
()
{
_selt
.
heartBeat
();
_selt
.
clickReport
();
},
60000
);
}
// 上报点击
private
clickCounter
=
0
// 当前用户点击次数
public
userClickEvent
()
{
this
.
clickCounter
++
;
// console.log("--SDK当前点击次数", this.clickCounter);
}
private
async
clickReport
()
{
if
(
this
.
clickCounter
>
0
)
{
const
obj
=
this
.
heartParams
;
const
tmp
=
Date
.
parse
(
new
Date
().
toString
()).
toString
()
// 获取请求的时间戳秒
obj
.
time
=
obj
.
gentime
=
tmp
.
substr
(
0
,
10
);
obj
.
action
=
'userappclick'
;
obj
.
content
.
click_times
=
this
.
clickCounter
;
await
this
.
reportEncode
(
obj
);
}
this
.
clickCounter
=
0
;
// 上报后归零
}
private
reportEncode
(
obj
)
{
let
keys
=
Object
.
keys
(
obj
).
sort
();
let
keys
=
Object
.
keys
(
obj
).
sort
();
let
key_url
=
""
;
let
key_url
=
""
;
for
(
let
i
=
0
;
i
<
keys
.
length
;
i
++
)
{
for
(
let
i
=
0
;
i
<
keys
.
length
;
i
++
)
{
...
@@ -452,9 +473,6 @@ class QQSDK {
...
@@ -452,9 +473,6 @@ class QQSDK {
}
}
obj
.
sign
=
md5
(
key_url
+
'BA886FF52827126DCD18E73E0E16420C'
)
obj
.
sign
=
md5
(
key_url
+
'BA886FF52827126DCD18E73E0E16420C'
)
this
.
request
(
qqLinks
.
heartReport
,
obj
,
'POST'
);
this
.
request
(
qqLinks
.
heartReport
,
obj
,
'POST'
);
setTimeout
(
function
()
{
_selt
.
heartBeat
();
},
60000
);
}
}
// 上报激活
// 上报激活
public
ActiReport
()
{
public
ActiReport
()
{
...
@@ -865,7 +883,9 @@ class QQSDK {
...
@@ -865,7 +883,9 @@ class QQSDK {
wifiname
:
""
wifiname
:
""
},
},
source
:
"weixinmp-api"
,
source
:
"weixinmp-api"
,
content
:
""
content
:
{
click_times
:
0
}
}
}
// 统计上报参数
// 统计上报参数
private
ReportParams
=
{
private
ReportParams
=
{
...
...
编写
预览
Markdown
格式
0%
重试
或
添加新文件
添加附件
取消
您添加了
0
人
到此讨论。请谨慎行事。
请先完成此评论的编辑!
取消
请
注册
或者
登录
后发表评论