微信小程序 获取用户手机号,第一次总会解密失败,第二次就好了,当我退出,再次登录后,又解密失败,刷新后再次登录又可以登录了,请问这是什么原因呢?
//小程序端代码
Taro.request({
url: ''
method: 'GET',
}).then(resx => {
if (resx) {
Taro.setStorage({key: 'openid', data: resx.data});
Taro.request({
url: '',
data: {
encryptedData: encryptedData,
iv: iv,
sessionKey: resx.data.session_key,
},
method: 'GET',
}).then(res => {
})
}
})
//服务端代码,这里是调用的微信提供的解密方法
getPhoneNumber : async (req, res) => {
let appId = '';
let sessionKey = req.query.sessionKey;
let encryptedData = req.query.encryptedData;
let iv = req.query.iv;
let pc = new WXBizDataCrypt(appId, sessionKey);
let data = pc.decryptData(encryptedData, iv);
return await data;
},