?根據(jù)微信官方文檔的說(shuō)法,2022年10月之后,原本的獲取昵稱(chēng)和頭像的api,也就是wx.getUserProfile和wx.getUserInfo將停止支持,在那之后發(fā)布和更新的小程序必須停止使用這兩個(gè)api。
?這兩個(gè)api獲得的用戶(hù)頭像均為一個(gè)url,指向網(wǎng)絡(luò)上的一個(gè)頭像圖片。前端獲取該鏈接后可通過(guò)wx.request傳到后端,服務(wù)器訪問(wèn)該鏈接并將圖片下載保存。
微信官方推薦的替代做法:頭像昵稱(chēng)填寫(xiě) | 微信開(kāi)放文檔 (qq.com)
代碼(來(lái)自上述的鏈接):
<button class="avatar-wrapper" open-type="chooseAvatar" bind:chooseavatar="onChooseAvatar">
<image class="avatar" src="{{avatarUrl}}"></image>
</button>
<input type="nickname" class="weui-input" placeholder="請(qǐng)輸入昵稱(chēng)"/>
const defaultAvatarUrl = 'https://mmbiz.qpic.cn/mmbiz/icTdbqWNOwNRna42FI242Lcia07jQodd2FJGIYQfG0LAJGFxM4FbnQP6yfMxBgJ0F3YRqJCJ1aPAK2dQagdusBZg/0'
Page({
data: {
avatarUrl: defaultAvatarUrl,
},
onChooseAvatar(e) {
const { avatarUrl } = e.detail
this.setData({
avatarUrl,
})
}
})
必須讓用戶(hù)點(diǎn)擊開(kāi)發(fā)者設(shè)置的button標(biāo)簽,然后手動(dòng)選擇自己的微信頭像,或者在相冊(cè)中選擇一張圖片,button應(yīng)該填的的屬性見(jiàn)上圖。
測(cè)試后發(fā)現(xiàn),這種方法得到的avatarUrl是微信本地臨時(shí)文件的路徑,可以讓小程序顯示使用,但是不能在遠(yuǎn)程訪問(wèn),也就是不能通過(guò)發(fā)送url給服務(wù)器的方式讓服務(wù)器下載圖片,必須把圖片本身發(fā)送給服務(wù)器。所以我們可以使用wx.uploadFile,將剛剛保存在本地的頭像發(fā)送至服務(wù)器
onChooseAvatar(e) {
var avatarUrl = e.detail
this.setData({
avatarUrl,//讓圖片預(yù)覽處顯示剛剛選擇的圖片
});
wx.uploadFile({
filePath: avatarUrl,
name: 'avatarImg',
url: uploadUrl,//服務(wù)器端接收?qǐng)D片的路徑
success:function(res){
console.log(res);//發(fā)送成功回調(diào)
},
fail:function(res){
console.log(res);//發(fā)送失敗回調(diào),可以在這里了解失敗原因
}
})
},
注意:wx.uploadFile所允許的域名白名單需要在小程序后臺(tái)配置,與wx.request是分開(kāi)的。配置之后記得清除本地緩存才會(huì)生效。
?文章來(lái)源地址http://www.zghlxwxcb.cn/news/detail-533548.html文章來(lái)源:http://www.zghlxwxcb.cn/news/detail-533548.html
?
到了這里,關(guān)于微信小程序新版頭像昵稱(chēng)API [保存用戶(hù)頭像到服務(wù)器]的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!