首先在全局定义一个判断空数组的方法.
// 是否为空对象
function isEmptyObject(e) {
var t;
for (t in e)
return !1;
return !0
}
在page定义一个授权判断
// 判断是否是第一次授权,非第一次授权且授权失败则进行提醒
checkSettingStatu: function (cb) {
var that = this;
// 自带api获取当前小程序设置信息
wx.getSetting({
success: function success(res) {
console.log(res.authSetting);
var authSetting = res.authSetting;
if (isEmptyObject(authSetting)) {
console.log('首次授权');
setTimeout(function () {
that.checkSettingStatu();
}, 3000)
} else {
console.log('不是第一次授权', authSetting);
// 没有授权的提醒
if (authSetting['scope.userInfo'] === false) {
wx.showModal({
title: '用户未授权',
content: '如需正常使用小程序功能xxxxxxxx 一个友好的提示',
showCancel: false,
success: function (res) {
if (res.confirm) {
console.log('用户点击确定')
//用户打开设置后还是没有点击授权时再次验证
wx.openSetting({
success: function success(res) {
that.onLoad();
}
});
}
},
})
}
}
}
});
},
若希望在用户体验程序时必须授权 就在每个动作结束后进行判断授权