在微信小程序开发中,如果在使用getUserInfo
接口获取用户信息时遇到失败,这主要是因为微信对该接口进行了更新和调整。自2021年4月13日起,getUserInfo
接口进行了重大修改,不再直接提供用户的详细信息,比如昵称、头像等,而是只能获取到用户的匿名信息。因此,解决这一问题的关键在于将getUserInfo
接口替换为新的getUserProfile
接口。
解决步骤:
- 替换接口:将原有的
getUserInfo
接口替换为getUserProfile
。getUserProfile
接口不仅可以提供用户的详细信息,还可以在任何标签上使用,不像getUserInfo
接口必须放在按钮(button)上并使用open-type="getUserInfo"
。 - 使用
getUserProfile
:使用getUserProfile
时,需要在调用接口时填写desc
属性,说明获取用户信息的用途。每次用户点击时,都会弹出授权窗口。一旦用户授权,就可以获取到用户的详细信息。 - 存储用户信息:为了优化用户体验,建议在用户首次授权后,将其信息存储下来。这样在后续操作(如点赞、评论等)时,可以直接从数据库中检查用户是否已授权,而不需要每次都重新请求授权。