• 博客园logo
  • 会员
  • 众包
  • 新闻
  • 博问
  • 闪存
  • 赞助商
  • HarmonyOS
  • Chat2DB
    • 搜索
      所有博客
    • 搜索
      当前博客
  • 写随笔 我的博客 短消息 简洁模式
    用户头像
    我的博客 我的园子 账号设置 会员中心 简洁模式 ... 退出登录
    注册 登录
MOKI3433
博客园    首页    新随笔    联系   管理    订阅  订阅

微信小程序获取用户信息wx.getUserProfile(官方说又要废弃wx.getUserInfo接口)

原始的wx.getUserInfo()接口是这样用的(每个创建的小程序都有获取头像和昵称的按钮),因为在使用getUserInfo()接口时,如果我点拒绝授权,那么

 

 

hasUserInfo仍然会被执行为true,

 

 这里就会被执行取反操作导致为false,执行else代码块,而此时又未授权,userInfo得不到,显示为一片空白;

现在改成wx.getUserProfile()这个接口

使用如下:


  getUserInfo:function(){
    wx.getUserProfile({
      lang:"en",
      desc:"获取用户信息",
      success:res=>{
        console.log("success")
        console.log(res.userInfo)
        app.globalData.userInfo = res.userInfo
        this.setData({
          userInfo: res.userInfo,
          hasUserInfo: true
        })
      },
      fail:res=>{
        console.log("fail")
        console.log(res)
        this.setData({
          hasUserInfo: false
        })
      }
    })
  }

效果如下:

 

 我的是点击头像登录

 

 点击拒绝仍然没问题,

点击允许,逻辑通了

 


 

注:鄙人刚入门微信小程序不久,文章不对之处,烦请大佬指正

 

posted @ 2021-03-05 23:18  临机一动  阅读(1880)  评论(0)    收藏  举报
刷新页面返回顶部
博客园  ©  2004-2025
浙公网安备 33010602011771号 浙ICP备2021040463号-3