很容易做错的事是:在app.onLaunch里调用this.getOpenid()
不要在app.onLaunch里调用,不要在app.onLaunch里调用。。。
app.js的代码:
App({
onLaunch: async function () {
//不要在这里调用this.getOpenid()
// await this.getOpenid()//不要这里执行,这是错误的。因为首页里page.js是必然undefined的。
},
getOpenid: async function () {
if (this.globalData.openid) return//已经获取过openid
this.globalData.openid = await this.getOpenidSync()
},
getOpenidSync: async function () {
//此处执行获取openid的代码
//...
},
})
在首页,或者分享页里的page.js代码:
onLoad: async function (options) {
await app.getOpenId()
console.log(app.globalData.openid)
},
其他页面,不是开机就进入的页面里:
console.log(app.globalData.openid)