微信小程序获取用户信息的问题
小程序用的时unipp+uView框架开发,本地开发测试获取用户信息的代码
html
<button size="mini" v-if="!isLogin" class="wx_login_btn" open-type="getUserInfo" lang="zh_CN" @getuserinfo="appLoginWx" bindgetuserinfo="bindgetuserinfo">登录</button>
js
appLoginWx(){
let _that = this
uni.login({
provider: 'weixin',
success: function (codeInfo) {
console.log(codeInfo);
// 获取用户信息
uni.getUserInfo({
provider: 'weixin',
success: function (res) {
_that.isLogin = true
_that.userInfo.avatarUrl = res.userInfo.avatarUrl
_that.userInfo.nickName = res.userInfo.nickName
// 设置全局变量
getApp().globalData.userInfo.avatarUrl = res.userInfo.avatarUrl
getApp().globalData.userInfo.nickName = res.userInfo.nickName
getApp().globalData.isLogin = true
}
});
}
});
}
为什么我点击button按钮时没有弹出需要用户授权的弹窗难道微信取消了这个步骤了吗?
而且uni.getUserInfo 方法可以返回用户的昵称头像,加密矢量这些数据,拿到这些数据我可以通过后端服务器请求微信的接口获取用户的openId、地区、性别、手机号这些敏感信息了吧?
如果不是我想的这样的话,那怎么实现当用户点击进入小程序时,弹窗授权获取用户手机号等信息呢?试了好多方法根本就没有出现弹窗。
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
在用户未授权过的情况下调用此接口,将不再出现授权弹窗,会直接进入 fail 回调。在用户已授权的情况下调用此接口,可成功获取用户信息。
wx.getUserInfo
在ide缓清空一下缓存,重新点击授权就可以弹出来了,你看下创建小程序时官方给的例子也行,我刚刚试了下确实没授权过时可以弹窗的,授权过之后就不在弹窗了
使用wx.getSetting获取用户授权