线上服务咨询
如何重新授权微信小程序?
我相信在开发小程序时,你会经常遇到难以解决的坑,即用户“授权”问题。当弹出“授权”对话框,但用户无情地拒绝时,这是相当悲惨的。因为小程序的业务用户想要获取用户的信息,并且该信息必须由用户的“授权”批准。所以作为开发者,如何秘密引导用户“把我们放到马上”,“授权和我们”已经成为关键的门槛。
毕竟,只有小用户可以识别的小程序将更好地被公众接受,并且可以帮助商家实现这一操作以使他们的小程序服务更加到位,并且更多的商家将来会与我们合作。没什么废话,让我分享我的秘密!
我的演示是个人信息和地理位置的双重授权。
被授权进入主页
拒绝授权并使用授权门户保留在页面上
需要设置一个标志值:authorizeInfo,根据这个true和false来决定是渲染主页还是渲染页面来显示重新授权。
显示页面时获取用户信息和位置
//userInfo
wx.getUserInfo({
成功: res=> {
this.setData({userInfo: true})
},
失败: res=> {
this.setData({userInfo: false})
}
})
//locationInfo
wx.getLocation({
成功: res=> {
this.setData({locationInfo: true})
},
失败: res=> {
this.setData({locationInfo: false})
}
})
authorizeInfo的设置取决于刚刚获得的两个值。将计时器设置为连续执行authorizeInfo,直到userInfo和locationInfo都为true。计时器被清除。设置计时器是因为可以获得userInfo和locationInfo。将失败),当两者都为真时,表示所有授权都已通过,跳转到主页。否则,它将保留在授权页面上。
//所有授权
设timer=setInterval(()=> {
this.authorizeInfo();
如果(this.data.userInfo&& this.data.locationInfo){
clearInterval(定时器)
}
},100)
//authorizeInfo
authorizeInfo: function(){
如果(this.data.userInfo&& this.data.locationInfo){
this.setData({authorizeInfo: true})
//重新启动
wx.reLaunch({
网址:'/pages/index/index'
})
}
其他{
this.setData({authorizeInfo: false})
}
}
要重新授权此操作,需要调用wx.openSetting接口。通过返回值判断用户是否被授权再次呼叫授权操作。如果是,请跳转到主页,否则请保留在授权页面上。
将用户重定向到“授权”的这种类型的操作是救赎手势。今天关于解决用户“授权”问题的秘密与您分享。你不能谢谢你。怎么说,作为业界的大哥也要向兄弟和村民透露道路,开山路!毕竟,是广大商家的运作,要解决这个问题,我们做小程序更有价值!快速尝试这种方法!
沈阳小程序开发,微信小程序开发,微信小程序