真机获取不到openID有人遇到过么?
发布于 5 年前 作者 bcheng 13852 次浏览 来自 问答

就是真的手机上获取不到openId 但是在模拟器里 和 体验版开调试模式的时候都是能获取到openID的。

但是只要关掉调试模式的体验版。 或者真正的线上版本就获取不到openId了.这个问题很奇葩 没法开调试模式测。所以我测的时候都是通过后端接口来调。之前以为是异步存的问题。现在换成了同步存 同步取也一样解决不掉。下面是我的代码片段大神帮忙看看问题处在哪呗

wx.login({
  success: function (res) {
    let appId = config.appId;
    let secret = config.secret;
    let code = res.code;
    //传入小程序信息,获取用户openId 与 session_key
    wx.request({
      url: 'https://api.weixin.qq.com/sns/jscode2session?appid='+appId+'&secret='+secret+'&js_code='+code+'&grant_type=authorization_code',
      success: function (res) {
        console.log(res)
        //将openId 与 session_key 进行本地缓存
        wx.setStorageSync('openId', res.data.openid)
        wx.setStorageSync('sessionKey', res.data.session_key)
      },
      fail: function (res) {
        console.log(res)
      }
    });
  },
  fail: function (res) {
    console.log(res)
  },
  complete: function (res) {
 
  }
})

2 回复

额  我遇到的是一直没有问题   忽然这几天才频繁出现这个问题

我的问题解决了。 把客户端获取openID的代码迁移到服务端去就好了。

给那些和我一样不仔细看文档的兄弟们留下点东西吧。 其实我还是觉得小程序这文档东一块西一块的。

不过比起公众号和微信支付已经强多了。。。

回到顶部