微信授权一键登录日志显示登录成功,但没有微信头像和微信名,新手小白使用Trae搭配微信开发者工具开发,现在不知道问题出在哪里了。#855
cloudbase-6gwkjqexd336450f
@tencent/cloud/cloudbase/community(小T) 看下这个问题
小T
你好!感谢反馈,这个问题我来帮你分析一下。
登录成功但头像显示为空白、昵称显示为"微信用户",这大概率是微信隐私政策调整导致的,而非你的代码或配置问题。
自 2022 年起,微信官方逐步废弃了 wx.getUserInfo 和 wx.getUserProfile 接口,这些接口不再返回用户的真实头像和昵称,而是返回默认值(灰色头像 + "微信用户")。
wx.getUserInfo
wx.getUserProfile
需要使用微信提供的 「头像昵称填写」能力,让用户主动授权头像和昵称:
<button open-type="chooseAvatar" bindchooseavatar="onChooseAvatar"> 选择头像 </button>
<input type="nickname" placeholder="请输入昵称" bindblur="onNicknameBlur" />
拿到头像和昵称后,调用 CloudBase 的 更新用户信息接口写入:
const db = cloudbase.database() await db.collection("users").doc(openid).update({ nickName: nickname, avatarUrl: avatarUrl })
如果以上方案还不能解决你的问题,请补充以下信息,方便进一步排查:
云开发环境ID
cloudbase-6gwkjqexd336450f
问题描述