根据最新的通知
为优化用户的使用体验,平台将进行以下调整: 1,2021年2月23日起,若小程序已在微信开放平台进行绑定,则通过wx.login接口获取的登录凭证可直接换取unionID 2,2021年4月13日后发布的小程序新版本,无法通过wx.getUserInfo与获取用户个人信息(头像、昵称、性别与地区),将直接获取匿名数据(包括userInfo与encryptedData中的用户个人信息),获取加密后的openID与unionID数据的能力不做调整。此前发布的小程序版本不受影响,但如果要进行版本更新则需要进行适配。 3,新增getUserProfile接口(基础库2.10.4版本开始支持),可获取用户头像、昵称、性别及地区信息,开发者每次通过该接口获取用户个人信息均需用户确认。具体接口文档:《getUserProfile接口文档》 ———————————————— 版权声明:本文为CSDN博主「xun-ming」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。 原文链接:blog.csdn.net/diyangxia/a…
老的getUserInfo现在新用户登录无法获取头像只有一个“微信用户”的默认名字和一个空头像,
之前是
<button open-type="getUserInfo" @getuserinfo="wxGetUserInfo" withCredentials="true">微信一键登录</button>
来获取登录所需的头像名称和iv、encryptedData等信息,
现在只需要普普通通的:
<button @click="getInfo">微信一键登录</button>
方法内部
getInfo(){
let self = this;
uni.getUserProfile({
desc:"获取你的昵称,头像,地区以及姓名",
success: res =>{//res里面就能获取到头像名称位置等信息
if (res.errMsg === 'getUserProfile:ok') {
self.iv = res.iv;
self.encryptedData = res.encryptedData;
self.wxLogin();
}
},
fail:(err) =>{
console.log("您取消了授权,登录失败")
})
},
wxLogin() { //微信登录
uni.login({
provider: 'weixin',
success: function(loginRes) {
let weixinCode = loginRes.code;
self.loginWeChat(weixinCode)//必要把参数传给后端
}
});
},
如果是要获取电话的话:
<button open-type="getPhoneNumber" @getphonenumber="getPhoneNumber">获取电话</button>
getPhoneNumber(res) {
self.iv = res.detail.iv;
self.encryptedData = res.detail.encryptedData;
wx.checkSession({
complete() {
uni.login({
provider: 'weixin',
success: function(loginRes) {
let weixinCode = loginRes.code;
self.getPhoneNumberAfter(weixinCode)
}
});
}
})
},