就是真的手机上获取不到openId 但是在模拟器里 和 体验版开调试模式的时候都是能获取到openID的。
但是只要关掉调试模式的体验版。 或者真正的线上版本就获取不到openId了.这个问题很奇葩 没法开调试模式测。所以我测的时候都是通过后端接口来调。之前以为是异步存的问题。现在换成了同步存 同步取也一样解决不掉。下面是我的代码片段大神帮忙看看问题处在哪呗
wx.login({
success: function (res) {
let appId = config.appId;
let secret = config.secret;
let code = res.code;
//传入微信小程序信息,获取用户openId 与 session_key
wx.request({
url: 'https://api.weixin.qq.com/sns/jscode2session?appid='+appId+'&secret='+secret+'&js_code='+code+'&grant_type=authorization_code',
success: function (res) {
console.log(res)
//将openId 与 session_key 进行本地缓存
wx.setStorageSync('openId', res.data.openid)
wx.setStorageSync('sessionKey', res.data.session_key)
},
fail: function (res) {
console.log(res)
}
});
},
fail: function (res) {
console.log(res)
},
complete: function (res) {
}
})
微信小程序开发者回答:
加***:
我的问题解决了。 把客户端获取openID的代码迁移到服务端去就好了。
给那些和我一样不仔细看文档的兄弟们留下点东西吧。 其实我还是觉得微信小程序这文档东一块西一块的。
不过比起公众号和微信支付已经强多了。。。
加***:系统记录
本文网址:http://www.91bianli.com/weixinxiaochengxu/26013.html