小程序获取openid保存缓存吗_微信小程序把openid放到缓存里
在微信小程序里面,openid只能通過wx.login獲取,如果在多個頁面使用的話需要傳遞openid,比如說:
wx.navigateTo({
url: 'main/main?openid=' + openid
})
這樣就能夠傳遞openid,并在main里面使用了。
但是我發現如果在導航欄里面,就是app.json的tabbar里面,這里設置的導航頁面,是沒法傳遞的。所以我想要把openid放到緩存里面,這樣就比較方便使用了。
首先是獲取openid并放入緩存
wx.login({
success(res) {
if(res.code) {
//這里發起請求,發送給后臺code換取openid
wx.request({
url: 'https://www.xxx.com',
data: {
code: res.code
}
success(res) {
openid: res.data.openid
//請求成功之后,把openid放到儲存里面
wx.setStorage({
key: 'openid',
data: openid
})
}
})
}
}
})
通過wx.setStorage放入緩存。如果成功的話,點擊控制臺的Storage一欄能看到對應的key值,也就是openid和值。
然后在需要的頁面,通過wx.getStorage就可以獲取緩存里面的數據了。如:
//在set頁面獲取openid
data: {
openid: ''
},
onLoad: function(options) {
let that = this
wx.getStorage({
key: 'openid',
success(res) {
console.log(res.data)
that.setData({
openid: res.data
})
})
},
onReady: function() {
console.log(this.data.openid)
}
因為這個方法是異步的,所以需要在onLoad之后調用openid,如果在onLoad里面調用,會取不到值。
總結
以上是生活随笔為你收集整理的小程序获取openid保存缓存吗_微信小程序把openid放到缓存里的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: python语言入门e_python 语
- 下一篇: clientdataset 遍历字段_T