Skip to content

微信官方政策调整说明

根据微信官方公告与小程序安全规范调整:

  • 微信已正式收回 wx.getUserProfilewx.getUserInfo 接口直接获取用户微信真实头像与昵称的能力。
  • 小程序在静默登录(通过 wx.login 获取 code 换取 openid)时,微信不再返回用户的微信头像与昵称,系统会赋予新用户默认头像与默认随机昵称(如“微信用户_xxx”)。

系统的适配与实现方案

EBAOZU V4 移动端(view/uniapp/)全面采用了微信官方推荐的 “头像昵称填写组件” 能力,支持用户主动设置和同步个人资料:

头像选择(chooseAvatar

在用户个人中心或资料编辑页,通过微信原生按钮组件拉取头像选择:

html
<button open-type="chooseAvatar" @chooseavatar="onChooseAvatar">
  <image :src="userInfo.avatar || defaultAvatar" class="avatar-img" />
</button>

在组件回调中获取临时文件路径并上传到后端存储:

javascript
onChooseAvatar(e) {
  const { avatarUrl } = e.detail;
  // 调用系统的图片上传接口
  this.$util.uploadImgs('upload/image', avatarUrl, (res) => {
    // 将上传成功返回的图片 URL 保存并更新用户资料
    this.updateUserAvatar(res.data.url);
  });
}

昵称填写(type="nickname"

在昵称输入框中使用微信官方提供的快捷填词能力:

html
<input 
  type="nickname" 
  v-model="userInfo.nickname" 
  placeholder="请输入或使用微信昵称" 
  @blur="onNicknameBlur" 
/>

开发者注意事项

  1. 不要依赖静默登录获取头像:静默登录仅用于换取 openid 并生成鉴权 Token,切勿在后端强行拦截无头像的用户注册流程。
  2. 图片上传鉴权:用户通过 chooseAvatar 选取的临时头像路径在上传至后端接口(/api/upload/image)时,需携带有效的用户 Authorization 鉴权头。

承信租多门店租赁商城系统官方文档