青青の子衿
蓦然回首,物是人非

       为优化用户体验,使用 wx.getUserInfo 接口直接弹出授权框的开发方式将逐步不再支持。从2018年4月30日开始,小程序与小游戏的体验版、开发版调用 wx.getUserInfo 接口,将无法弹出授权询问框,默认调用失败。会直接进入 fail 回调,在用户已授权的情况下调用此接口,可成功获取用户信息。

 

开发者可使用以下方式获取或展示用户信息:

1,请使用 <button open-type="getUserInfo"></button> 引导用户主动进行授权操作。

  • 新建login模板文件,在login.wxml添加如下代码:
<button open-type="getUserInfo" bindgetuserinfo="bindGetUserInfo">授权登录</button>
  • 在login.js文件中添加bindGetUserInfo点击事件:
bindGetUserInfo: function(e){
    //此处授权得到userInfo
    console.log(e.detail.userInfo);
    //接下来写业务代码
    app.globalData.userInfo = e.detail.userInfo;
    //最后,记得返回刚才的页面
    wx.navigateBack({
       delta: 1
    })
   }

 

2,调用接口函数wx.getUserInfo时:

1)当用户未授权过,调用该接口将直接报错,会直接进入 fail 回调
2)当用户授权过,可以使用该接口获取用户信息

 

wx.getUserInfo({
      withCredentials: true,
      success: function (res) {
        //此处为获取微信信息后的业务方法,存入缓存
        wx.setStorageSync("userInfo", res.userInfo);
      },
      fail: function () {
       //获取用户信息失败后。请跳转授权页面
       wx.showModal({
        title: '提醒',
        content: '尚未进行授权,请点击确定跳转到授权页面进行授权。',
        success: function (res) {
         if (res.confirm) {
          //跳转到授权界面
          wx.navigateTo({
           url: '/pages/login/login',
          })
         }
        }
       })
      }
     })

 

微信小程序案例:

我和怪兽有个合影

posted on 2020-06-28 11:19  青青の子衿  阅读(1613)  评论(0编辑  收藏  举报