就最近在写微信小程序项目的时候,发现微信又双叕更改获取用户头像昵称的规则了,我连wx.getUserProfile都还没用上,一直还停留在wx.getUserInfo的阶段,结果告诉我,又改规则了,一点不快乐。。。
先看看微信是怎么说的:
总结就是:由于某些用户不合理的行为,为了防止你们再这么玩,所以我直接动你们调用的api,给开发者半年的时间,赶快整改。。。
我必须得吐槽微信一把,关于获取用户的头像昵称已经更改了这么多次。。。对开发者也太不友好了!啥也不是!
2021-02-24 小程序登录、用户信息相关接口调整说明
小程序登录、用户信息相关接口调整说明 | 微信开放社区
2021-04-15 小程序登录、用户信息相关接口调整更新说明
小程序登录、用户信息相关接口调整更新说明 | 微信开放社区
2021-09-26 微信公众平台用户信息相关接口调整公告
微信公众平台用户信息相关接口调整公告 | 微信开放社区
2021-12-27 小程序用户信息相关接口调整公告
小程序用户信息相关接口调整公告 | 微信开放社区
2022-05-09
小程序用户头像昵称获取规则调整公告
小程序用户头像昵称获取规则调整公告 | 微信开放社区
好了,吐槽完毕,下面看看最新的是怎么获取的。
目录
微信用户头像
依然是需要使用button按钮,open-type设置为chooseAvatar,通过bindchooseavatar事件的回调获取到微信的头像,代码如下,我是用uniapp写的哈,都一样
<template>
<view>
<button open-type="chooseAvatar" @chooseavatar="bindchooseavatar">获取头像</button>
</view>
</template>
<script>
export default {
methods: {
bindchooseavatar(e) {
console.log(e);
}
}
};
</script>
运行如下:
点击使用微信头像,所以 e.detail.avatarUrl就是我们自己的头像,如果选择了拍照或者从相册选择,回调如下,一毛一样
微信用户昵称
获取微信用户昵称这个更改成了input输入框,你没听错,就是input输入框。。。代码如下
<template>
<view>
<input type="nickname" placeholder="请输入昵称" v-model="value" />
</view>
</template>
<script>
export default {
data() {
return {
value: ''
};
}
};
</script>
注意: 在开发者工具上,我们是看不到的,所以我们的用真机调试,长这个样子
然后点击用微信昵称,就直接填上了,是不是有点离谱。。。
最后的最后,需要注意一点 头像昵称填写 | 微信开放文档
需要兼容版本哦!
写给微信
最后最后,求求微信小程序官方,别再动这个api了,答应我,好不?