收藏
回答

wx.getUserProfile 获取信息不全?

手机型号:iphone8 微信版本:8.0.7

调用wx.getUserProfile 返回数据不全,iv,encryptedData等信息都没有。

而且不一定可以复现。但是出现一次后。可以复现。移除小程序后就不会复现

但是总不能让客户不移除小程序 重新打开吧。。。

跪求大佬解惑

部分代码:

    try {
      let arr = wx.getUserProfile ? [wxPro.login(), wxPro.getUserProfile({
        desc: '用于完善会员资料'
      })] : [wxPro.login(), wxPro.getUserInfo()]
      let res = await Promise.all(arr)
      wx.showLoading({
        title: LoadingText || "登录中"
      })
      let data = Object.assign(res[0], res[1])
      if (!data.iv) {
        wx.showModal({
          title: '提示',
          content: JSON.stringify(data),
        })
        result;
      }
      let wxInfo = Object.assign({
        shareid: wx.getStorageSync('shareid'),
        from: wx.getStorageSync('from')
      }, data)
      resolve(wxInfo)
    } catch (e) {
      reject(e)
      wx.hideLoading()
    }


触发效果图

正常返回参数图



回答关注问题邀请回答
收藏

3 个回答

  • 郑钱花
    郑钱花
    2021-06-18

    仔细看文档,而且你要iv,encryptedData做什么用啊

    https://developers.weixin.qq.com/community/develop/doc/000ecabcb642185cfdfb78fe056c01?blockType=1

    2021-06-18
    有用 1
    回复 1
    • 像我这么吊的还有六个
      像我这么吊的还有六个
      2021-06-18
      我觉得你想说的是这个 :wx.getUserProfile 接口返回的 iv、encryptedData 解密获取不到 unionid,请使用 wx.login 获取 unionid;wx.getUserProfile 接口在基础库2.16.0以下,无法获取 iv 和 encryptedData ,近期会灰度覆盖到 2.10.4。

      但是微信8.0.7对应基础库版本是2.17.3 并不存在版本问题
      而且代码也有兼容写法判断wx.getUserProfile是否可用
      然后后端需要使用到 iv,encryptedData 获取加密信息
      2021-06-18
      回复
  • 像我这么吊的还有六个
    像我这么吊的还有六个
    2021-06-28

    这帖子怎么沉了啊

    2021-06-28
    有用
    回复
  • จุ๊บ
    จุ๊บ
    2021-06-18

    是为了获取unionID嘛?如果是的话,绑定开放平台之后,wx.login直接返回的

    2021-06-18
    有用
    回复 1
    • 像我这么吊的还有六个
      像我这么吊的还有六个
      2021-06-18
      为了获取到加密数据的上报。需要用到iv。虽然明文的可以用。但是。加密的更好一点。
      而且官方也没说什么情况下iv 会不返回。
      2021-06-18
      回复
登录 后发表内容