调用sdk的getAuthInfo后,可能会出现fail结果,大致有如下几种情况,请CP根据报错提示,进行相应的检查操作。
每个游戏在闪电玩平台中,都会有一些参数值,在初始化参数的时候,请确保这些参数的正确性,如果参数不正确,将会出现用户的授权失败的情况。例如: 出现'appid not found'等,请确保CP自身的接入参数及对接人员后台配置的一致性。
用户进入小游戏,sdk发起授权弹窗的时候,如果出现如下情况:
1.用户点击拒绝;
2.SDK没有获取用户信息的权限;
3.其他错误;
sdk都会在fail回调函数中,返回如下fail信息:
{
code:-1,
msg:"wx.getUserInfo[fail]:获取微信用户信息失败"
}
当res中出现了code为-1的情况下,说明获取微信的用户信息失败了,此时CP需要调用微信小游戏的获取用户的按钮(或者一个登陆弹窗、引导点击等等,具体视游戏的设计而定),通过按钮的回调事件,进行sdk的重新授权处理。
示例代码:
// 获取微信用户信息失败 fail回调函数中处理
if (res.code == -1) {
// 创建一个简单的获取用户信息按钮
var button = wx.createUserInfoButton({
type: 'text',
text: '获取用户信息',
style: {
left: 10,
top: 76,
width: 200,
height: 40,
lineHeight: 40,
backgroundColor: '#ff0000',
color: '#ffffff',
textAlign: 'center',
fontSize: 16,
borderRadius: 4
}
});
// 用户点击的回调函数注册
button.onTap(function (res) {
console.log(res);
if (res.userInfo) {
// 调用sdk的reAuth,将用户参数传入,进行重新授权操作
// 重新授权成功后,会在之前注册的事件中,进行相应的回调
sdk.reAuth(res.userInfo);
}
});
}
如果需要出现用户按钮(可以出一个引导登陆的界面,用户信息按钮可以全屏透明,这样界面既美观又有登录功能),具体请CP根据流程,结合《微信文档》做相应的处理。
除了以上两种错误情况以外,可能也会出现比如用户信息获取失败等错误,此时需要CP和平台进行联调处理,具体请对接人员协助排查。