wx.getSetting({ success: res => { if (res.authSetting[ 'scope.userInfo' ]) { // 已经授权,可以直接调用 getUserInfo 获取头像昵称,不会弹框 wx.getUserInfo({ success: res => { // 可以将 res 发送给后台解码出 unionId this .globalData.userInfo = res.userInfo; // 由于 getUserInfo 是网络请求,可能会在 Page.onLoad 之后才返回 // 所以此处加入 callback 以防止这种情况 if ( this .userInfoReadyCallback) { this .userInfoReadyCallback(res) } } }) } }
|
我想实现一打开小程序就自动获取用户信息 要怎么做?
没授权之前必须要用按钮触发授权了,授权以后就可以用 wx.getUserInfo 的 success回调 获取信息了,同时 fail回调也做个判断,看看授权关没关
微信限制小程序端随便用户的信息了,据说是为了安全和用户体验去考虑,必须用button去触发,防止小程序端在用户不授权情况下反复询问
.... 多年之前官方就出通知 尽早替换.
1. 在wxml中使用按钮,设置开放能力类型,绑定相关事件,如tap
<button open-type="getUserInfo" catch:tap="getUserInfo">授权</button>
2. 在js中添加事件对应的方法,从方法的参数中可以获取用户信息,比如event.detail.userInfo,在控制台可查看
Page({
/**
* 获取用户信息的事件绑定函数
*/
getUserInfo(event) {
console.log(event);
}
});
3. 授权一次后,你的wx.getUserInfo正常使用了,之后每次都可以直接获取用户信息了
我不想点击按钮获取 我想打开app自动获取
骚年要经常来看看官方公告哦
https://developers.weixin.qq.com/community/develop/doc/0002e457c348c02526e7610d056001
啊啊啊 好的