微信小程序授权 获取用户信息

微信小程序授权 获取用户信息

小程序昵称突然变成了“微信用户”,头像也不显示,

<!-- 近期很多小伙伴通过该方法获取头像和昵称,代码也没有做改变,突然就变成了下面这样子 -->
<open-data type="userAvatarUrl"></open-data>
<open-data type="userNickName"></open-data> 

<!-- 以及通过getUserInfo获取小程序用户昵称和头像,都出现一下情况 -->

在代码没有做任何更改的情况下,导致这样的原因,坑定是微信官方改了规则
错误
在这里插入图片描述
正常
在这里插入图片描述
具体导致无法获取微信昵称和头像原因:https://developers.weixin.qq.com/community/develop/doc/000cacfa20ce88df04cb468bc52801?blockType=1
在这里插入图片描述
适配官网代码修改如下:
1,wxml代码修改

<!-- 修改前 -->
<button open-type='getUserInfo' bindgetuserInfo="getUserInfo" >确认</button>
<!-- 修改后-->
<button bindtap="getUserInfo" >确认</button>

2 js代码修改

//修改前
getUserInfo(e){
	if(e.detail.userInfo){
		let user = e.detail.userInfo
		wx.setStorageSync('user',user)
	}
}
//修改后
getUserInfo(e){
	wx.getUserProfile({
	      desc: '取用户个人信息后的用途', // 声明用途,会展示在弹窗中,请谨慎填写
	      success: (res) => {
	        console.log("获取用户信息成功", res)
	      },
	      fail: res => {
	        console.log("获取用户信息失败", res)
	      }
	})
}

只需要在点击事件里调用wx.getUserProfile就可以调起授权弹窗,这样就获取到头像和昵称了
在这里插入图片描述

  • 3
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
要在PHP中实现微信小程序授权获取用户信息并绑定手机号登录,可以按照以下步骤进行操作: 1. 在微信小程序端,通过`wx.login`获取用户的临时登录凭证`code`。 2. 将获取到的`code`发送到服务器端,使用`https`接口调用`code2Session`接口,获取到`openid`和`session_key`。 3. 将`openid`和`session_key`保存至服务器端数据库或缓存中。 4. 在小程序端,使用`wx.getUserInfo`获取用户信息,包括`nickName`、`avatarUrl`等,并将用户信息传输到服务器端。 5. 在服务器端,接收到用户信息后,将用户信息保存到服务器数据库中,可以使用`openid`作为用户的唯一标识。 6. 在小程序端,点击绑定手机号的按钮,调用`wx.request`向服务器发送请求,请求获取手机号的能力。 7. 在服务器端,接收到手机号请求后,可以返回一个包含手机号获取能力的`code`给小程序端。 8. 小程序端收到`code`后,调用`wx.request`向服务器发送请求,请求获取手机号。 9. 服务器端接收到获取手机号的请求后,可以通过调用微信开放平台提供的解密能力,解密包含手机号的数据,并将解密得到的手机号与用户信息进行绑定。 10. 绑定成功后,返回相应的状态给小程序端。 总结:通过以上步骤,我们可以在PHP中实现微信小程序授权获取用户信息并绑定手机号登录的功能。在小程序端,用户使用微信授权登录后,将用户信息传输到服务器端保存,并通过绑定手机号使用户能够更便捷地登录和使用小程序。同时,在服务器端需要进行数据加密和解密的操作,确保用户信息安全。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值