初学微信小程序之关于获取用户信息准许的操作

根据微信开放社区的描述,官方貌似把默认弹出是否允许小程序的弹窗取消了,取而代之的是需要你手动的用官方给的

<button open-type="getUserInfo" bindgetuserinfo="userInfoHandler">getUserInfo</button>

button组件去手动获取信息。基本步骤大概是:wx.login() =>wx.getSetting()=>用户手动点击上面的button用来获取用户数据并且完成获取用户授权的操作。

1.首先我们开始登录操作,在app.js的onLauch里做登录操作:

//App.js
onLaunch(){
    wx.login(res){
        console.log(res)
    }
}

 

返回的结果是用户的code和成功的msg:

2.我先尝试直接获取用户数据会怎样?

//App.js
onLaunch(){
    wx.login(res){
        console.log(res)
    }
    wx.getUserInfo({
      success(res) {
        
      }
    })
}

结果是官方给我们的提示,然后就不会再提示你了,即使你清掉所有缓存都不会再提示你了,然后用户就用不了你的小程序了,如果你非要获取用户的信息才能用的小程序的话,那么只能是用户-1了。。。

3.既然不给直接使用wx.getUserInfo,那只能去获取授权了。这里就是用wx.getSetting()了。

//App.js
onLaunch(){
    wx.login(res){
        console.log(res)
    }
    wx.getSetting({
      success(res){
        console.log(res);
        wx.getUserInfo({  
        success(res) {
        //     that.data.userInfo = JSON.parse(res.rawData);
           }
         })
      }
    })
}

这里第一次使用wx.getSetting成功后返回的结果如下

authSetting是个空JSON,而且没有走到wx.getUserInfo()这步。

3.既然这样也不行,那只能按官方给的方法去搞了。所以我在我新建的首页index页面上使用它给的

<button open-type="getUserInfo" bindgetuserinfo="userInfoHandler">getUserInfo</button>了。具体根据自己写的首页去写了。wxml部分:

//index.wxml
<view>
    <button open-type="getUserInfo" bindgetuserinfo="userInfoHandler">getUserInfo</button>
</view>

js部分:

//index.js
userInfoHandler(e){
       console.log(e.detail)
}

写完编译好后点击按钮出现

点击确定就完成了授权和获取用户信息了。userInfoHandler函数里面e.detail的数据大概就是下面那个图了,userinfo就是用户的头像名字的数据了。

4.重新编译一次小程序,再次查看wx.getSetting()返回的数据

这次的authSetting不是个空JSON了,这就完成了授权了。这次在使用wx.getUserInfo()就可以获取到用户的数据了。

 

初次学习微信小程序,希望能给大家该来帮助!

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值