收藏
回答

wx.getUserProfile api 低版本微信 不兼容 怎么解决?

在安卓微信客户端低于7.0版本的手机,授权登陆的时候 因为没有办法

、<button open-type="getUserInfo" bindgetuserinfo="onGotUserInfo"

wx.getUserProfile 不能获取到

然后走了button的 老接口 授权,就都是大量的微信用户了,

这个已经废弃了吗? 获取不了用户信息

对于低版本的微信客户端wx.getUserProfile这个借口不友好呀


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

2 个回答

  • 波
    2021-05-08

    要做低基础库兼容。

    <view class="container">
      <view class="userinfo">
        <block wx:if="{{!hasUserInfo}}">
          <button wx:if="{{canIUseGetUserProfile}}" bindtap="getUserProfile"> 获取头像昵称 </button>
          <button wx:else open-type="getUserInfo" bindgetuserinfo="getUserInfo"> 获取头像昵称 </button>
        </block>
        <block wx:else>
          <image bindtap="bindViewTap" class="userinfo-avatar" src="{{userInfo.avatarUrl}}" mode="cover"></image>
          <text class="userinfo-nickname">{{userInfo.nickName}}</text>
        </block>
      </view>
    </view>
    
    Page({
      data: {
        userInfo: {},
        hasUserInfo: false,
        canIUseGetUserProfile: false,
      },
      onLoad() {
        if (wx.getUserProfile) {
          this.setData({
            canIUseGetUserProfile: true
          })
        }
      },
      getUserProfile(e) {
        // 推荐使用wx.getUserProfile获取用户信息,开发者每次通过该接口获取用户个人信息均需用户确认
        // 开发者妥善保管用户快速填写的头像昵称,避免重复弹窗
        wx.getUserProfile({
          desc: '用于完善会员资料', // 声明获取用户个人信息后的用途,后续会展示在弹窗中,请谨慎填写
          success: (res) => {
            this.setData({
              userInfo: res.userInfo,
              hasUserInfo: true
            })
          }
        })
      },
      getUserInfo(e) {
        // 不推荐使用getUserInfo获取用户信息,预计自2021年4月13日起,getUserInfo将不再弹出弹窗,并直接返回匿名的用户个人信息
        this.setData({
          userInfo: e.detail.userInfo,
          hasUserInfo: true
        })
      },
    })
    
    2021-05-08
    有用 2
    回复 3
    • 翻
      2021-05-08
      我写了呢,就是因为低版本的微信客户端不能识别wx.getUserProfile这个,走了老授权按钮,然后就是微信头像了,怎么兼容低版本微信客户端7.0以下的我们很多都是7。0以下的用户
      2021-05-08
      回复
    • 波
      2021-05-08回复
      微信版本7.0.9以下都是走getUserInfo,7.0.9及以上的才走wx.getUserProfile。我在线上在跑的也有新旧版本,但获取用户信息是正常的。用这个判断都能正常识别。从你截图来看,判断是正常的。
      2021-05-08
      回复
    • 翻
      2021-05-08回复
      那咋办,我这边很多微信用户低于7.0的走老接口都是 授权都是微信用户这就很难受?舍弃?吗
      2021-05-08
      回复
  • 印后
    印后
    2021-05-08

    这个问题怎么解决的?我在其他小程序里面用官方案例是正常的,在“wx5f27be88914fd818”这个小程序里面就不行,出现了很多“微信用户”,很奇怪

    2021-05-08
    有用
    回复
登录 后发表内容