收藏
回答

wx.getUserProfile需要在哪个基础库才生效?

目前真机调试设置了2.10.4~2.11.2,在开发工具上是行的,但是真机不行,麻烦微信那边解决一下,毕竟到4月份了wx.getUserInfo接口改了,如果wx.getUserProfile还是不行的话怎么办。。。。

真机版本:

代码输出:

输出结果:


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

9 个回答

  • 小程序技术专员-binnie
    小程序技术专员-binnie
    04-02

    是用微信开发者工具推的基础库吗?

    04-02
    有用
    回复 3
    • 吴熙
      吴熙
      04-15
      你丫傻逼吧
      04-15
      6
      回复
    • Live
      Live
      04-16
      围观
      04-16
      回复
    • 声。
      声。
      04-16
      看看,看看!这像是技术专员说的话嘛?
      04-16
      回复
  • 武曲心
    武曲心
    03-22

    wx.getUserProfile只能由bindtap触发的事件里调用,longpress,touch之类都不行,onshow,onload就更不行了,if(wx.getUserProfile)判断都是不能用的,其实wx.getUserProfile用法沿用了getUserInfo一些特征的。另外bindtap触发的事件里面调用含有wx.getUserProfile的方法是可行的,异步回调执行也是可以。

    03-22
    有用 1
    回复 13
    • 新😹 😂 👿 👾 (๑'ᴗ'๑)
      新😹 😂 👿 👾 (๑'ᴗ'๑)
      03-22
      if(wx.getUserProfile)在开发工具能用的,getUserInfo和getUserProfile在正常情况下都是能调用的,只是会调用失败(触发fail),但是对象方法本身是存在的,所以正常情况下不应该是undefined
      03-22
      回复
    • 武曲心
      武曲心
      03-22回复新😹 😂 👿 👾 (๑'ᴗ'๑)
      getUserInfo和getUserProfle这两个api构建逻辑是不一样的,getUserProfle严格使用在bindtap里面调用,你写个demo看一下其特征就明白了,wx.getUserProfile在bindtap里面才有对象方法,其他地方都是undefined
      03-22
      回复
    • 武曲心
      武曲心
      03-22回复新😹 😂 👿 👾 (๑'ᴗ'๑)
      我是用2.15.0的库改了好几个项目了,也都发布出来,不知道你项目里面是怎么弄,说不明白就放个代码片段出来给大家看下
      03-22
      回复
    • 新😹 😂 👿 👾 (๑'ᴗ'๑)
      新😹 😂 👿 👾 (๑'ᴗ'๑)
      03-22
      求指教,反正别说我是黑就行
      03-22
      回复
    • 武曲心
      武曲心
      03-22
      发个代码片段吧,截图也得弄的大点呀,让人能看到你的方法是怎么写,怎么调用的,这点东西看不懂呀
      03-22
      回复
    查看更多(8)
  • Howe
    Howe
    04-13

    rawData被你吃了?少了多少东西?

    04-13
    有用
    回复 1
    • Howe
      Howe
      04-13
      不仅仅这个版本有问题,建议每个版本试试!
      04-13
      回复
  • 安达
    安达
    04-13

    我采用的 简单有效 的 wx.getUserProfile 修改方法

    https://developers.weixin.qq.com/community/develop/article/doc/00000cc422c12844b4fb644d056813

    参考版本号:2.10.4/2.11.2/2.12.3/2.14.1/2.15.0



    04-13
    有用
    回复
  • Zzy🏓 🎣
    Zzy🏓 🎣
    04-11

    我把wx.getUserProfile放到promise的then中就调用失败

    04-11
    有用
    回复
  • 老实人.
    老实人.
    04-08

    wx.getUserProfile解密openid无返回避雷:https://blog.csdn.net/qq_21479909/article/details/115529769

    04-08
    有用
    回复
  • 默
    03-22

    2.15.0的可以

    03-22
    有用
    回复 8
    • 新😹 😂 👿 👾 (๑'ᴗ'๑)
      新😹 😂 👿 👾 (๑'ᴗ'๑)
      03-22
      试了,基础库弄到2.15还是不行,我记得之前手机是正常的,后来手机坏了换了另一台机,才发现这个问题,这是不是意味着这个方法在某些手机上是不正常的?
      03-22
      回复
    • 默
      03-22回复新😹 😂 👿 👾 (๑'ᴗ'๑)
      只有一个手机的痛苦 我还真的没有发现你说的换个手机不行 我用我的手机、工具、真机调试、体验版都测试了2.15.0版本是可以的
      03-22
      回复
    • 我爱大海
      我爱大海
      04-01
      我现在手机和电脑一个都不能使用wx.getUserProfile这个新增的接口,非常郁闷了。
      04-01
      回复
    • 默
      04-01回复我爱大海
      发下代码片段
      04-01
      1
      回复
    • 我爱大海
      我爱大海
      04-01回复
      <button bindtap="getuserinfo" class="bottom" >登录</button>  

      getuserinfo: function(e) {
          var that = this;
          var logintag = wx.getStorageSync('logintag');
          console.log('wx.getUserProfile',wx.canIUse('getUserProfile'));
          wx.getUserProfile({
            lang:'zh_CN',
            desc: '为了你更好的使用体验,需要完善你的个人信息。', // 声明获取用户个人信息后的用途,后续会展示在弹窗中,请谨慎填写
            success: (res) => {
              console.log(res);
              var userInfo=res.userInfo;
              var wx_headimg = userInfo.avatarUrl;
              wx.setStorageSync('wx_headimg', wx_headimg);
              wx.setStorageSync('wx_nickname', userInfo.nickName);
              wx.request({
                url: app.globalData.siteroot + 'getweixininfo',
                data: {
                  logintag: logintag,
                  city: userInfo.city,
                  country: userInfo.country,
                  province: userInfo.province,
                  gender: userInfo.gender,
                  nickName: userInfo.nickName,
                  wx_headimg: userInfo.avatarUrl,
                  uniacid: app.globalData.uniacid,
                },
                method: "GET",
                success(res) {
                  console.log(res);
                  if (res.data.retCode == '0000') {
                    app.errorTip(that, res.data.retDesc, 2000);
                    setTimeout(function () {
                      //要延时执行的代码
                      wx.redirectTo({
                        url: decodeURIComponent(that.data.url),
                      })
                    }, 1000) //延迟时间 这里是1秒
                  } else {
                    app.errorTip(that, res.data.retDesc, 2000);
                  }
                }
              })
            }
          });
        },
      04-01
      回复
    查看更多(3)
  • |G.XIAO|
    |G.XIAO|
    03-22

    03-22
    有用
    回复
  • Brother斌🎈
    Brother斌🎈
    03-22

    做好让用户手动填写昵称、上传头像的准备

    03-22
    有用
    回复 10
    查看更多(5)
登录 后发表内容
问题标签