小程序使用新的getUserProfile后获取weixin_unionid失败

发布于 2022-09-12 23:21:09 字数 3264 浏览 10 评论 0

<button open-type="getUserInfo" bindgetuserinfo="getUserInfo">接受</button>
getUserInfo: function () {
    var that = this;
    wx.getSetting({
      success(res) {
        if (res.authSetting['scope.userInfo']) {
          // 已经授权,可以直接调用 getUserInfo 获取头像昵称
          wx.login({
            success: ress => {
              var code = ress.code; //登录凭证
              console.log(">>>>>>>>>>code:", code)
              wx.getUserInfo({
                success: function (detail) {
                  wx.request({
                    url: api.getUnionId, //自己的服务接口地址
                    method: 'post',
                    header: {
                      'content-type': 'application/x-www-form-urlencoded'
                    },
                    data: {
                      encryptedData: detail.encryptedData,
                      iv: detail.iv,
                      code: code,
                    },
                    success: (res) => {
                      console.log("res:", res.data)
                      if (res.data.code == 'C00000') {
                        util.setToken(res.data.msg);
                        util.setStorageSync("userInfo", res.data.obj);
                        wx.redirectTo({
                          url: '/pages/breakpage/breakpage',
                        })
                      }
                    },
                    fail: function () {
                      console.log('系统错误')
                    }
                  })
                }
              });
            }
          });
        }
      }
    })
  },

菜鸟请问下,原来使用的getUserInfo是正常可以弹出授权框的,最近点了没反应。。
换成下面这样后success都是false,"weixin_unionid不能为空!",加上wx.getSetting点击没反应

<button bindtap="getUserProfile">接受</button>
getUserProfile(e) {
    // wx.getSetting({
    //   success(res) {
    //     if (res.authSetting['scope.userInfo']) {
    // 已经授权,可以直接调用 getUserInfo 获取头像昵称
    wx.getUserProfile({
      desc: '用于获取用户个人信息', // 声明获取用户个人信息后的用途,后续会展示在弹窗中,请谨慎填写
      success: function (detail) {
        wx.login({
          success: ress => {
            var code = ress.code; //登录凭证
            console.log(">>>>>>>>>>code:", code)
            wx.request({
              url: api.getUnionId, //自己的服务接口地址
              method: 'post',
              header: {
                'content-type': 'application/x-www-form-urlencoded'
              },
              data: {
                encryptedData: detail.encryptedData,
                iv: detail.iv,
                code: code,
              },
              success: (res) => {
                console.log("res:", res.data)
                if (res.data.code == 'C00000') {
                  util.setToken(res.data.msg);
                  util.setStorageSync("userInfo", res.data.obj);
                  wx.redirectTo({
                    url: '/pages/breakpage/breakpage',
                  })
                }
              },
              fail: function () {
                console.log('系统错误')
              }
            })
          }
        });
      }
    });
    //     }
    //   }
    // })
  },

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

水染的天色ゝ 2022-09-19 23:21:09

之前看到getUserProfile接口提前上线了,上线后getUserInfo接口只会返回匿名数据,但是上周社区报获取信息有BUG:

getUserInfo 线上可以使用,但是开发者工具本地测试拉不起授权。
getUserProfile 上线拉不起授权,但是开发者工具可以。

这两天本地开发唤起授权和拉取信息是没问题的,也没有提示需要 weixin_unionid,看下是不是拉起授权同时请求了自己项目的后端接口需要 weixin_unionid



已参与了 SegmentFault 思否「问答」打卡,欢迎正在阅读的你也加入。

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文