在授权之后可以获取openid,但是再次编译之后openid显示未定义,但是userInfo可以正常获取
难道每次取openid 都要走一遍 获取流程?
目前我把openid保持在全局,其他页面可以正常获取
就是在写完代码 编译之后openid就获取不到
需要重新清理授权,再次授权才可以获取
我是把获取openid 写在了授权里面
index.wxml
index.js
getUserInfo: function(e) {
if (e.detail.errMsg=="getUserInfo:ok")
{
console.log('授权成功')
app.globalData.userInfo = e.detail.userInfo
this.setData({
userInfo: e.detail.userInfo,
hasUserInfo: true
})
//获取code
wx.login({
success: function (res) {
wx.request({
url: 'https://api.weixin.qq.com/sns/jscode2session?appid=*******&secret=*******&js_code=' + res.code + '&grant_type=authorization_code',
data: {},
header: {'content-type': 'application/json'},
//getOpenID
success: function (res) {
console.log(res.data.openid)
console.log(res.data.session_key)
//openid = res.data.openid //返回openid
app.globalData.openid = res.data.openid
app.globalData.sessionKey = res.data.session_key
}
})
}
})
}
}
微信小程序开发问题解答
微信小程序开发者回答:
你这样写再次编译 肯定未定义,因为没走这里面啊;可以直接调用wx.login 获取openid,不需要用户点击,获取之后存在缓存中就行了
微信小程序开发者回答:
如果只是openid是不需要授权就能直接获取的,获取后可以放在缓存里
本文网址:http://www.91bianli.com/weixinxiaochengxu/25048.html