微信小程序> 微信小程序获取用户信息“授权失败”场景的处理

微信小程序获取用户信息“授权失败”场景的处理

浏览量:548 时间: 来源:weixin_30571465

很多的时候我们在处理小程序功能的时候需要用户获取用户信息,但是呢为了信息安全,用户不授权导致授权失败场景;但是小程序第二次不在启动授权信息弹层,为了用户体验,可以用以下方式处理:

function isEmptyObject(e) {  //对象是否为空;判断是否是第一次授权,非第一次授权且授权失败则进行提醒  var t;  for (t in e)    return !1;  return !0}
function checkSettingStatu(cb) {  //授权处理  var that = this;  // 判断是否是第一次授权,非第一次授权且授权失败则进行提醒  wx.getSetting({    success: function success(res) {      var authSetting = res.authSetting;      if (isEmptyObject(authSetting)) {        // console.log('首次授权');      } else {        // console.log('不是第一次授权', authSetting);        // 没有授权的提醒        if (authSetting['scope.userInfo'] === false) {          wx.showModal({            title: '用户未授权',            content: '如需正常使用此小程序功能,请您按确定并在设置页面授权用户信息',            showCancel: false,            success: function (res) {              // 此处为了用于 Android 系统区分点击蒙层关闭还是点击取消按钮关闭省去了res.confirm,res.cancel判断              // 点击蒙层同样触发开启设置              wx.openSetting({                success: function success(res) {                  if (res.authSetting['scope.userInfo'] === false) {                    checkSettingStatu(cb);                  } else {                    userinfor();                  }                }              });            }          })        }      }    }  });}
function userinfor(){    //获取用户信息    wx.login({      success: function (res) {        var code = res.code;        if (res.code) {          wx.getUserInfo({            fail: function (res) {              checkSettingStatu();            },            success: function (data) {              var encryptedData = data.encryptedData;              var iv = data.iv;              wx.request({                url: 'XXXX',                data: {                  "json": JSON.stringify({                    "type": "small_wechat_new",                    "code": code,                    "encryptedData": encryptedData,                    "iv": iv                  })                },                method: 'POST',                header: {                  'content-type': 'application/x-www-form-urlencoded'                },                success: function (res) {                  //wx.setStorageSync('user_id', res.data.data.user_id);                  //wx.setStorageSync('token', res.data.data.token);                  //wx.setStorageSync('avatar', res.data.data.avatar);                  //wx.setStorageSync('nickname', res.data.data.nickname);                }              })            }          })        }      }    })  }  module.exports = {    checkSettingStatu: checkSettingStatu,    userinfor: userinfor  }

 

版权声明

即速应用倡导尊重与保护知识产权。如发现本站文章存在版权问题,烦请提供版权疑问、身份证明、版权证明、联系方式等发邮件至197452366@qq.com ,我们将及时处理。本站文章仅作分享交流用途,作者观点不等同于即速应用观点。用户与作者的任何交易与本站无关,请知悉。

产品经理

手机 : 13312967497

擅长 : 小程序流量变现

扫码领取礼包

热门模板

  • 头条
  • 搜狐
  • 微博
  • 百家
  • 一点资讯
  • 知乎