获取不到openid的同学看看这里,我找到解决方案了

来源:7-3 播放历史与本地存储

慕婉清9221589

2020-08-11

1.在login.js文件中加上async和await,因为getWXContext( ) 方法是异步的

exports.main = async (event, context) => {  //加上async
  console.log(event)
  console.log(context)
  const wxContext =await cloud.getWXContext() //加上await

 return {
    event,
    openid: wxContext.OPENID,
    appid: wxContext.APPID,
    unionid: wxContext.UNIONID,
  }
}
  1. 然后将login云函数重新上传后,在对小程序进行编译,就可以获得openid的值
  2. app.js中的代码如下:
getOpenid(){
    wx.cloud.callFunction({
      name: 'login'
    }).then((res) => {
      const openid = res.result.openid  //res.result.openid是小写
      // console.log(openid);
      this.globalData.openid = openid
      if (wx.getStorageSync(openid) == '') {
        wx.setStorageSync(openid, [])
      }
    })
  }
写回答

4回答

慕娘4228290

2021-04-04

建议置顶这个回答,不加 async 确实获取不到 openid

1
0

谢成

2020-08-11

cloud.getWXContext()前面应该不需要加await

1
2
慕雪4344617
回复
慕婉清9221589
我还是获取不到openid呀
2021-03-05
共2条回复

慕数据4122455

2021-05-09

谢谢1111111111

0
0

qq_慕用3356041

2021-05-02

好人啊,搞了我一晚上终于弄好了,谢谢啊


0
0

微信小程序云开发-从0打造云音乐全栈小程序

横跨小程序端、云后端、CMS一站式云开发的小程序全栈课程

1938 学习 · 2768 问题

查看课程