收藏
回答

ios版的企业微信中打开微信小程序getUserProfile无法调起授权弹窗?

问题:ios版的企业微信中打开微信小程序getUserProfile无法调起授权弹窗,安卓机型正常。

ios企业微信版本:3.1.9(69138)

调试基础库:2.16.0


以下是使用官方示例的代码进行测试的,做了一点点小修改

<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: {},
    hasUserInfofalse,
    canIUseGetUserProfiletrue// 为了测试getUserProfile,先用true
  },
  onLoad() {
    // 为了测试getUserProfile,先注释此代码
    // if (wx.getUserProfile) { 
    //   this.setData({
    //     canIUseGetUserProfile: true
    //   })
    // }
    console.log('canIUseGetUserProfile'this.data.canIUseGetUserProfile);
  },
  getUserProfile(e) {
    // 推荐使用wx.getUserProfile获取用户信息,开发者每次通过该接口获取用户个人信息均需用户确认
    // 开发者妥善保管用户快速填写的头像昵称,避免重复弹窗
    wx.getUserProfile({
      desc'用于完善会员资料'// 声明获取用户个人信息后的用途,后续会展示在弹窗中,请谨慎填写
      success(res) => {
        this.setData({
          userInfo: res.userInfo,
          hasUserInfotrue
        })
      }
    })


    console.log('getUserProfile', e);
  },
  getUserInfo(e) {
    // 不推荐使用getUserInfo获取用户信息,预计自2021年4月13日起,getUserInfo将不再弹出弹窗,并直接返回匿名的用户个人信息
    this.setData({
      userInfo: e.detail.userInfo,
      hasUserInfotrue
    })


    console.log('getUserInfo', e);
  },
})


出现问题如下

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

2 个回答

登录 后发表内容