小程序如何页面自动弹出授权
小程序页面自动弹出授权的方法:
在index.js文件中实现。
onLoad: function (options) {wx.showLoading({
title: '登录中'
})
wx.getSetting({
success: res => {
console.log(res)
if (res.authSetting['scope.userInfo'] === true) { // 成功授权
// 已经授权,可以直接调用 getUserInfo 获取头像昵称,不会弹框
wx.getUserInfo({
success: res => {
console.log(res)
this.setUserInfoAndNext(res)
},
fail: res => {
console.log(res)
}
})
} else if (res.authSetting['scope.userInfo'] === false) { // 授权弹窗被拒绝
wx.openSetting({
success: res => {
console.log(res)
},
fail: res => {
console.log(res)
}
})
} else { // 没有弹出过授权弹窗
wx.getUserInfo({
success: res => {
console.log(res)
this.setUserInfoAndNext(res)
},
fail: res => {
console.log(res)
wx.openSetting({
success: res => {
console.log(res)
},
fail: res => {
console.log(res)
}
})
}
})
}
}
})
},
// 获取个人信息成功,然后处理剩下的业务或跳转首页
setUserInfoAndNext(res) {
// 由于 getUserInfo 是网络请求,可能会在 Page.onLoad 之后才返回
// 所以此处加入 callback 以防止这种情况
if (this.userInfoReadyCallback) {
this.userInfoReadyCallback(res)
}
wx.hideLoading()
// 跳转首页
setTimeout(() => {
wx.reLaunch({
url: '../home/home'
})
}, 1000)
},
免责声明:
① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。
② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341