小程序wx.getUserInfo不能弹出授权窗口后的解决方案

微信更新api后,wx.getUserInfo在开发和体验版本都不能弹出授权窗口。微信文档说明:

注意:此接口有调整,使用该接口将不再出现授权弹窗,请使用 <button open-type="getUserInfo"></button> 引导用户主动进行授权操作

  1. 当用户未授权过,调用该接口将直接报错
  2. 当用户授权过,可以使用该接口获取用户信息

对此,给出以下解决方案。

wx .getUserInfo ({
withCredentials : true ,
success : function (res ) {
//此处为获取微信信息后的业务方法
},
fail : function () {
//获取用户信息失败后。请跳转授权页面
wx .showModal ({
title : '警告' ,
content : '尚未进行授权,请点击确定跳转到授权页面进行授权。' ,
success : function (res ) {
if (res .confirm ) {
console .log ( '用户点击确定' )
wx .navigateTo ({
url : '../tologin/tologin' ,
})
}
}
})
}
})

调取该方法失败后跳转到授权页面。

授权页面加入

< button open-type= "getUserInfo" bindgetuserinfo= "bindGetUserInfo" >授权登录 </ button >

并在js中,加入这个方法

bindGetUserInfo : function (e ){
var that = this ;
//此处授权得到userInfo
console .log (e .detail .userInfo );
//接下来写业务代码

//最后,记得返回刚才的页面
wx .navigateBack ({
delta : 1
})
}


至此,即可完成引导用户手动授权的过程。解决此次更新api所带来的问题。


评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值