用户授权失败处理流程

调用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和平台进行联调处理,具体请对接人员协助排查。