微信小程序云开发--->>获取用户openid并全局调用

    1.我们用云开发模板创建小程序项目时,在该目录下有login云函数,我们可以利用它实现获取openid,右键上传并部署,云端安装依赖后
 
2.打开app.js,在onLaunch: function(){}内填入以下代码调用login云函数获取openid
这样可以实现打开小程序时获取用户openid
//app.js
App({
  getOpenId: null,
  onLaunch: function () {
    if (!wx.cloud) {
      console.error('请使用 2.2.3 或以上的基础库以使用云能力')
    } else {
      this.getOpenId = (function(that){
        return new Promise((resolve, reject) =>{
          wx.cloud.callFunction({
            name: 'login',
            data: {},
            success: res => {
              that.globalData.openid = res.result.openid
              resolve(res.result.openid)
            },
            fail: err => {
              console.error('[云函数] [login] 调用失败', err)
            }
          })
        })
      })(this)
    }
  }
})

  

3.在想要调用的页面使用getOpenId即可获取
    const app = getApp();
    app.getOpenId.then(res => {
      console.log(res, 'then-res')
    })

 

4.这种方法可以有效避免因为异步而拿不到openid的情况
posted @ 2020-09-21 15:10  昭z  阅读(3194)  评论(0编辑  收藏  举报