收藏
回答

未授权用户授权后getUserInfo回调信息encryptedData解密报错

wxml:

<button  type='warn' open-type="getUserInfo" class='btn' bindgetuserinfo="getUserInfo">确认授权</button>


js:


getUserInfo: function (e) {

    const appId = '******';

    const sessionKey = wx.getStorageSync('sessionKey');

    const encryptedData = e.detail.encryptedData;

    const iv = e.detail.iv;

    

    const pc = new WXBizDataCrypt(appId, sessionKey);

    const data = pc.decryptData(encryptedData, iv);

    wx.setStorageSync('openId', data.unionId);

},


调试报错信息如下:







回答关注问题邀请回答
收藏

1 个回答

  • 白开水
    白开水
    2018-11-07

    请问题解决了没有,同样遇到这个问题啊,在线等,急

    2018-11-07
    有用
    回复 2
    • 文学
      文学
      2018-11-07

      解决了,是因为sessionKey为空导致的,我把代码贴出来再详细讲讲

      app.js





      在app.js这个文件中我做了一个是否授权的查询,并且通过微信小程序提供的wx.login方法获取到code,再将code发送到后台

      服务器接口去取openId(我这里的openId实际上是unionId) 和 sessionKey,由于后台接口没有处理好,直接抛了一个异常“openId获取为空”(这个异常导致的原因是因为当前用户未授权),请求接口后直接进入到了最外层的fail方法里,而没有进入到success,这个时候sessionKey就为空了

      2018-11-07
      回复
    • 白开水
      白开水
      2018-11-07

      好的,谢谢

      2018-11-07
      回复
登录 后发表内容