小程序开发 | 微信小程序如何重新授权?
相信在小程序的开发中,你会经常遇到一个很难解决的坑,那就是用户& ldquo授权& rdquo问题。何时& ldquo授权& rdquo弹出对话框,却被用户无情拒绝,比较惨。因为作为小程序的商户用户,你想要得到的是用户的信息,必须经过用户的& ldquo授权& rdquo除非你同意,否则你不能得到它。那么,作为开发者,我们是如何暗中引导用户的& ldquo让我们休息一下。,& ldquo向我们授权& rdquo已经成为一个关键的门槛。
毕竟只有能被小用户认可的小程序,才会更好的被大众接受,而帮助商家实现这个操作,会让自己的小程序服务更到位,以后会有更多的商家和我们合作。废话不多说,分享我的秘密吧!
我的演示是个人信息+地理位置的双重授权。
要么授权它,然后转到主页
要么拒绝授权,留在有授权条目的页面上
需要设置一个标志值:authorizeInfo,根据真假值决定是渲染第一页还是渲染显示重新授权的页面。
当页面显示时,获取用户信息和地理位置
// userInfo
wx.getUserInfo({
成功:res=>。{
this.setData({userInfo : true})
},
失败:res= >失败。{
this.setData({ userInfo: false })
{}
})
// locationInfo
wx.getLocation({
成功:res =>。{
this . setdata({ location info:true })
},
失败:res = >失败。{
this . setdata({ location info:false })
{}
})
authorizeInfo的设置取决于刚刚获取的两个值。设置定时器连续执行authorizeInfo,直到userInfo和locationInfo都为真,然后清除定时器(设置定时器是因为最初获取userInfo和locationInfo可能会失败)。当两者都为真时,表示所有授权都已通过,跳转到首页。否则,它将停留在授权页面上。
//全部授权
让timer = setInterval(() = >;{
this . authorizeinfo();
if(this . data . UserInfo & amp;& ampthis.data.locationInfo){
清除间隔(计时器)
{}
},100)
//authorizeInfo
authorizeInfo: function(){
if(this . data . UserInfo & amp;& ampthis.data.locationInfo) {
this . setdata({ authorizeInfo:true })
//重新启动
wx.reLaunch({
URL:& # 39;/pages/index/index & # 39;
})
{}
else {
this . setdata({ authorizeInfo:false })
{}
{}
要重新授权这个操作,我们需要调用wx.openSetting接口,通过返回值再次调用授权操作后,判断用户是否被完全授权,如果是,跳转到首页,否则,停留在授权页面。
这种引导用户去& ldquo授权& rdquo这次行动是一种救赎的姿态。今日关于解决用户& ldquo授权& rdquo这就是问题的秘密。请好好把握。怎么说呢,作为行业大佬,你要为兄弟父老们揭示开山之道!毕竟对广大商家来说是一个不错的操作。要解决这个问题,我们做小程序,更有价值!赶紧试试这个方法!
本文由“云崛起”原创发布,未经许可,禁止转载!本文原创链接:http://yunjueqi.com/weixinfenxiao/612.html