在授权之后可以获取openid,但是再次编译之后openid显示未定义,但是userInfo可以正常获取
难道每次取openid 都要走一遍 获取流程?
目前我把openid保持在全局,其他页面可以正常获取
就是在写完代码 编译之后openid就获取不到
需要重新清理授权,再次授权才可以获取
我是把获取openid 写在了授权里面
index.wxml
<button wx:if="{{!hasUserInfo && canIUse}}" open-type=“getUserInfo” bindgetuserinfo=“getUserInfo”> 获取头像昵称 </button>
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
}
})
}
})
}
}