小程序开发 | 微信小程序怎么重新授权 具体的代码怎么写
程序员每天都会遇到各种各样的问题,但基本上不管遇到什么问题,都是可以轻松解决的。因为他们有一颗无畏的心,所以给了小程序的灵魂,但是微信小程序怎么重新授权呢?今天我们为大家解决这个问题。
微信小程序如何重新授权?
起源
& middot在做一些小程序的时候,授权的问题是绝对不可缺少的,但是我们发现有时候会有人点击我们拒绝授权,然后大家在开发的时候如果得不到需要的数据就会很苦恼。我在小程序中应用了这样的方法,我正在研究,现在正在分享。
& middot我的演示基于我的个人信息+地理位置
思路
& middot要么授权它,然后转到主页
& middot要么拒绝授权,留在有授权条目的页面上
& middot要设置标志值: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接口。我们通过返回值知道用户在重新调用授权操作后是否被完全授权。如果是,跳转到首页,否则,停留在授权页面。
//授权
toAuthorize:function(){
//重置授权
wx.openSetting({
成功:(res) = >成功。{
if(RES . AuthSetting[& quot;scope.userInfo & quot]& amp;& ampRES . authsetting[& quot;scope.userLocation & quot]) {
this . setdata({ authorizeInfo:true })
//重新启动
wx.reLaunch({
URL:& # 39;/pages/index/index & # 39;
})
}else{
this . setdata({ authorizeInfo:false })
{}
},
失败:(res) = >失败。{
console . log(& quot;授权失败”)
{}
})
使用方法
& middot我的演示是个人信息和地理位置的双重授权
& middot页面下的授权文件夹可以直接使用。复制并粘贴到你的页面下!
通过以上介绍,现在你知道如何重新授权微信小程序。其实方法还是比较简单的。多调试基本上就能解决你遇到的任何问题。当然,如果您在操作过程中遇到任何问题,您可以随时关注我们,我们会为您解决这个问题。
本文由“云崛起”原创发布,未经许可,禁止转载!本文原创链接:http://yunjueqi.com/weixinfenxiao/883.html