logo
3
38
WeChat Login

微信授权一键登录日志显示登录成功,但没有微信头像和微信名,新手小白使用Trae搭配微信开发者工具开发,现在不知道问题出在哪里了。#855

Open
created 1 months ago
Edit

云开发环境ID

cloudbase-6gwkjqexd336450f

问题描述

微信图片_20260305161606_218_4.png AI帮我更改修复了3天了,目前日志发给AI说的都是没问题的,但是真机调试,还是开发者工具预览,点击了确定后一直不显示微信头像和微信名字,而是显示空白头像和”微信用户“,小程序后台设置包括密钥,接口、协议什么的确实是没问题的,全程AI工具开发,实在是没有思路了,请懂的大神帮忙指点。感谢。
Administrator

@tencent/cloud/cloudbase/community(小T) 看下这个问题

T

NPC
1

T

NPC

你好!感谢反馈,这个问题我来帮你分析一下。

问题分析

登录成功但头像显示为空白、昵称显示为"微信用户",这大概率是微信隐私政策调整导致的,而非你的代码或配置问题。

自 2022 年起,微信官方逐步废弃了 wx.getUserInfowx.getUserProfile 接口,这些接口不再返回用户的真实头像和昵称,而是返回默认值(灰色头像 + "微信用户")。

解决方案

需要使用微信提供的 「头像昵称填写」能力,让用户主动授权头像和昵称:

1. 获取头像

<button open-type="chooseAvatar" bindchooseavatar="onChooseAvatar">
  选择头像
</button>

2. 获取昵称

<input type="nickname" placeholder="请输入昵称" bindblur="onNicknameBlur" />

3. 更新 CloudBase 用户信息

拿到头像和昵称后,调用 CloudBase 的 更新用户信息接口写入:

const db = cloudbase.database()
await db.collection("users").doc(openid).update({
  nickName: nickname,
  avatarUrl: avatarUrl
})

参考文档


如果以上方案还不能解决你的问题,请补充以下信息,方便进一步排查:

  1. 云开发 SDK 版本号
  2. 微信基础库版本号
  3. 相关的登录代码片段

T

NPC
referenced ISSUE
Assignee
None yet
Label
None yet
Priority
None yet
Time period
-
Property
Add custom properties to record and label key information
Participant