欢迎来到258分享网,纯净的网络源码分享基地!

258资源分享网

全部作品
全部作品
网站源码
微信源码
素材特效
源码插件
视频教程
建站学院
热门搜索: 织梦  农业种植  农业  安全设置  官方
258资源分享 > 建站学院 > 微信开发 > 微信小程序获取用户信息“授权失败”场景的处理

推荐下载

HTML5响应式自适应网咯设计

2020-05-12   浏览:789

HTML5自适应律师工作室类网

2020-04-04   浏览:654

高端HTML5响应式企业通用网

2020-05-06   浏览:560

html5响应式外贸网站英文版

2020-05-08   浏览:545

HTML5影视传媒文化公司类网

2020-05-12   浏览:543

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

发布时间:2020-11-01  

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

 

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