微信小程序中不同的授权对应不同的接口,以下是获取用户信息权限的实现方式~~~

WXML部分
<button wx:if='{{showbutton}}' 
bindgetuserinfo="getuserinfo"
open-type='getUserInfo'>点击授权</button>
JS部分
Page({

  /**
   * 页面的初始数据
   */
  data: {
    showbutton:false
  },

  //授权完毕,授权按钮消失
  getuserinfo:function(res){
    this.setData({
      showbutton: false
    })
   console.log(res.detail)
   },
    
  /**
   * 生命周期函数--监听页面显示
   */
  onShow: function () {
    console.log(111)
    //获取用户授权状态
    wx.getSetting({
      success: (res) => {
        console.log(res)
        //判断权限是否授权
        if (!res.authSetting['scope.userInfo']){
          //显示授权按钮
          this.setData({
            showbutton:true
          })
        }
      }
    })
  },
})

思路

1.用户打开小程序,判断是否有相关授权,调用 wx.getSetting 获取用户当前的授权状态,如果没有授权,显示授权按钮,使用 wx.authorize 在调用需授权 API 之前,提前向用户发起授权请求。(正式环境写法),开发环境用<button>替代
2.检测到用户已经拒绝授权,调用 wx.openSetting 打开设置界面,引导用户开启授权。
3.用户授权成功后,授权按钮消失

标签: none

仅有一条评论

  1. 技安 技安

    评论内容

添加新评论