解决小程序getUserInfo只能获取默认用户信息

用的好好的小程序突然间不能获取用户信息,本以为写法有问题,尝试以前的项目还是不行,新建一个项目发现,api改了!
以前使用的open-type=getUserInfo已经不再好使了,只能获取默认信息,看下官方回复

不推荐使用getUserInfo获取用户信息,预计自2021年4月13日起,getUserInfo将不再弹出弹窗,并直接返回匿名的用户个人信息

推荐使用wx.getUserProfile获取用户信息,开发者每次通过该接口获取用户个人信息均需用户确认,开发者妥善保管用户快速填写的头像昵称,避免重复弹窗

可以看到官方推我们使用getUserProfile去获取用户信息,尝试一下

//index.html


  
    
      
    
    
      
      {{userInfo.nickName}}
    
  


// index.js
// 获取应用实例
const app = getApp()

Page({
  data: {
    userInfo: {},
    hasUserInfo: false,
    canIUseGetUserProfile: false,
  },
  onLoad() {
    if (wx.getUserProfile) {
      this.setData({
        canIUseGetUserProfile: true
      })
    }
  },
  getUserProfile(e) {
    // 推荐使用wx.getUserProfile获取用户信息,开发者每次通过该接口获取用户个人信息均需用户确认,开发者妥善保管用户快速填写的头像昵称,避免重复弹窗
    wx.getUserProfile({
      desc: '展示用户信息', // 声明获取用户个人信息后的用途,后续会展示在弹窗中,请谨慎填写
      success: (res) => {
        console.log(res)
        this.setData({
          userInfo: res.userInfo,
          hasUserInfo: true
        })
      }
    })
  }
})

改了之后总体来看是比较有好的,可以不用再必须使用button按钮触发了,也不用再使用open-type

还不错,一样的效果,收工!

你可能感兴趣的:(解决小程序getUserInfo只能获取默认用户信息)