无法获取到https.get的返回值
const https = require('https');
const WXBizDataCrypt = require('./WXBizDataCrypt.js');
const getSessionKey = (jsCode,iv,encryptedData) => {
const Appid = 'your appId';
const AppSecret = 'your appSecret';
let url = 'https://api.weixin.qq.com/sns/jscode2session?appid='+Appid+'&secret='+AppSecret+'&js_code='+jsCode+'&grant_type=authorization_code';
https.get( url , (response) => {
let body = [];
// console.log(response.statusCode);
// console.log(response.headers);
response.on('data', (chunk) => {
body.push(chunk);
});
response.on('end', () => {
// body = Buffer.concat(body);
let data = Buffer.concat(body).toString();
let getData = JSON.parse(data);
// console.log(data);
// console.log({
// session_key: getData.session_key
// });
let sessionKey = getData.session_key;
// console.log(sessionKey);
let pc = new WXBizDataCrypt(Appid, sessionKey)
let getPhone = pc.decryptData(encryptedData , iv)
let phone = getPhone.phoneNumber;
console.log('解密后 phone: ', phone)
return phone;
});
});
}
let jsCode = 'your jsCode';
let iv = 'your iv';
let encryptedData = 'your encryptedData';
getSessionKey(jsCode,iv,encryptedData);
return phone这个值怎么拿到
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
肯定是不能用return的,异步的特性。
es6不熟悉
用常规的思路大概写一下