联系官方销售客服
1835022288
028-61286886
最近微信官方调整获取用户头像和昵称的接口,因此给大家带来最新接口适配方法及代码。先看看官方说明:
自 2022 年 10 月 25 日 24 时后(以下统称 “生效期” ),用户头像昵称获取规则将进行如下调整:
自生效期起,小程序 wx.getUserProfile 接口将被收回:生效期后发布的小程序新版本,通过 wx.getUserProfile 接口获取用户头像将统一返回默认灰色头像,昵称将统一返回 “微信用户”。生效期前发布的小程序版本不受影响,但如果要进行版本更新则需要进行适配。
自生效期起,插件通过 wx.getUserInfo 接口获取用户昵称头像将被收回:生效期后发布的插件新版本,通过 wx.getUserInfo 接口获取用户头像将统一返回默认灰色头像,昵称将统一返回 “微信用户”。生效期前发布的插件版本不受影响,但如果要进行版本更新则需要进行适配。通过 wx.login 与 wx.getUserInfo 接口获取 openId、unionId 能力不受影响。
「头像昵称填写能力」支持获取用户头像昵称:如业务需获取用户头像昵称,可以使用「头像昵称填写能力」(基础库 2.21.2 版本开始支持,覆盖iOS与安卓微信 8.0.16 以上版本),具体实践可见下方《最佳实践》。
小程序 wx.getUserProfile 与插件 wx.getUserInfo 接口兼容基础库 2.27.1 以下版本的头像昵称获取需求:对于来自低版本的基础库与微信客户端的访问,小程序通过 wx.getUserProfile 接口将正常返回用户头像昵称,插件通过 wx.getUserInfo 接口将正常返回用户头像昵称,开发者可继续使用以上能力做向下兼容。
根据基础库的不断更新,部分功能无法实现。
下面利用头像昵称填写能力来实现此问题
废话不多说直接上代码!
下面是wxml部分代码。
my.wxml
<button class="avatar-wrapper" open-type="chooseAvatar" bind:chooseavatar="onChooseAvatar"> <text class="img-type">{{avatar_type}}</text> <image class="avatar" src="{{avatarUrl}}"></image> </button> <form catchsubmit="formSubmit"> <view class="row"> <view class="text1">当前名称:{{name}}</view> <input type="nickname" class="weui-input" name="input" placeholder="请输入昵称" /> </view> <button class="edit-button" type="primary" style="margin-top:40rpx;margin-bottom:20rpx" formType="submit">提交</button> </form>
下面是js部分代码
my.js
const defaultAvatarUrl = 'https://thirdwx.qlogo.cn/mmopen/vi_32/POgEwh4mIHO4nibH0KlMECNjjGxQUq24ZEaGT4poC6icRiccVGKSyXwibcPq4BWmiaIGuG1icwxaQX6grC9VemZoJ8rg/132' data:{ avatarUrl: defaultAvatarUrl, } onChooseAvatar(e) { var self = this; const { avatarUrl } = e.detail self.setData({ avatarUrl, })
剩下的功能可以根据自己的能力拓展! 承接项目Q 50938884