有可能,但不是唯一原因。
如果“用户隐私保护指引”未配置或尚未生效,微信可能拒绝返回头像、昵称,代码就会使用兜底值:
微信用户 + OpenID 末四位
例如:微信用户0qLA
你现在显示“审核中”,说明还不能完全确认已经生效,应等后台显示已通过/已发布/已生效。
另外还要确认:
- 当前测试使用的是最新上传的客户版代码。
- 用户通过点击操作触发授权,并同意隐私协议。
- 授权回调中的
nickName、avatarUrl有真实值。 /api/me/profile保存成功。- 清除开发者工具缓存后重新编译。
判断原因最直接的方法是看授权回调:
- 回调报隐私权限错误:隐私指引未生效或授权流程问题。
- 回调有真实头像昵称,但后台仍是“微信用户”:后端保存或缓存问题。
- 后端已返回真实资料,但页面仍显示默认值:小程序页面读取了旧缓存。
因此,隐私指引配置是必要条件,但审核通过后仍需验证完整授权和保存链路。
wx.getUserProfile在体验版也支持- 必须由用户点击触发
- 用户同意授权后返回
userInfo - 不需要等小程序正式发布
- 官方明确警告的是
wx.getUserInfo,真机可能返回匿名资料
当前客户版使用的是 wx.getUserProfile,不是 wx.getUserInfo,调用方式也符合官方示例。因此,隐私指引已通过时,问题不是“还没正式发布”。
项目自己的校验提示,说明接口回调后返回的昵称为空,或返回了“微信用户”,所以被代码拦截,没有保存。建议使用真实手机打开最新体验版,清除小程序缓存后再次点击获取;如果仍为空,就需要记录这次接口返回结果,继续定位微信实际返回内容。


