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);
},
调试报错信息如下:
请问题解决了没有,同样遇到这个问题啊,在线等,急
解决了,是因为sessionKey为空导致的,我把代码贴出来再详细讲讲
app.js
在app.js这个文件中我做了一个是否授权的查询,并且通过微信小程序提供的wx.login方法获取到code,再将code发送到后台
服务器接口去取openId(我这里的openId实际上是unionId) 和 sessionKey,由于后台接口没有处理好,直接抛了一个异常“openId获取为空”(这个异常导致的原因是因为当前用户未授权),请求接口后直接进入到了最外层的fail方法里,而没有进入到success,这个时候sessionKey就为空了
好的,谢谢