?
前言
版本歷史變遷
一、獲取頭像的正確姿勢(shì)
二、獲取昵稱的正確姿勢(shì)
總結(jié)
前言
產(chǎn)品需要獲取微信用戶的昵稱和頭像。
這這還不簡單,so easy!
通過wx.getUserProfile或者?wx.getUserInfo?就可以獲取到。
但是獲取的昵稱是”微信用戶“獲取的頭像是灰色的頭像。
如果你也是上面這種情況,一定是很久沒有看過微信小程序的更新文檔了。
版本歷史變遷
自 2022 年 10 月 25 日 24 時(shí)后(以下統(tǒng)稱 “生效期” ),用戶頭像昵稱獲取規(guī)則將進(jìn)行如下調(diào)整:
- 自生效期起,小程序 wx.getUserProfile 接口將被收回:生效期后發(fā)布的小程序新版本,通過 wx.getUserProfile 接口獲取用戶頭像將統(tǒng)一返回默認(rèn)灰色頭像,昵稱將統(tǒng)一返回 “微信用戶”。生效期前發(fā)布的小程序版本不受影響,但如果要進(jìn)行版本更新則需要進(jìn)行適配。
- 自生效期起,插件通過 wx.getUserInfo 接口獲取用戶昵稱頭像將被收回:生效期后發(fā)布的插件新版本,通過 wx.getUserInfo 接口獲取用戶頭像將統(tǒng)一返回默認(rèn)灰色頭像,昵稱將統(tǒng)一返回 “微信用戶”。生效期前發(fā)布的插件版本不受影響,但如果要進(jìn)行版本更新則需要進(jìn)行適配。通過 wx.login 與 wx.getUserInfo 接口獲取 openId、unionId 能力不受影響。
- 「頭像昵稱填寫能力」支持獲取用戶頭像昵稱:如業(yè)務(wù)需獲取用戶頭像昵稱,可以使用「頭像昵稱填寫能力」(基礎(chǔ)庫 2.21.2 版本開始支持,覆蓋iOS與安卓微信 8.0.16 以上版本),具體實(shí)踐可見下方《最佳實(shí)踐》。
- 小程序 wx.getUserProfile 與插件 wx.getUserInfo 接口兼容基礎(chǔ)庫 2.27.1 以下版本的頭像昵稱獲取需求:對(duì)于來自低版本的基礎(chǔ)庫與微信客戶端的訪問,小程序通過 wx.getUserProfile 接口將正常返回用戶頭像昵稱,插件通過 wx.getUserInfo 接口將正常返回用戶頭像昵稱,開發(fā)者可繼續(xù)使用以上能力做向下兼容。
對(duì)于上述 3,wx.getUserProfile 接口、wx.getUserInfo 接口、頭像昵稱填寫能力的基礎(chǔ)庫版本支持能力詳細(xì)對(duì)比見下表:
*上面粘貼自微信開發(fā)文檔
一、獲取頭像的正確姿勢(shì)
頭像獲取的是一個(gè)臨時(shí)路徑,千萬不要把獲取的地址直接存儲(chǔ)到數(shù)據(jù)庫中。
需要將?button?組件?
open-type
?的值設(shè)置為?chooseAvatar
,當(dāng)用戶選擇需要使用的頭像之后,可以通過?bindchooseavatar
?事件回調(diào)獲取到頭像信息的臨時(shí)路徑。從基礎(chǔ)庫2.24.4版本起,若用戶上傳的圖片未通過安全監(jiān)測(cè),不觸發(fā)
bindchooseavatar
?事件。文章來源:http://www.zghlxwxcb.cn/news/detail-549628.html
<!-- .wxml -->
<button type="primary" open-type="chooseAvatar" bindchooseavatar="getChooseAvatar" >獲取頭像</button>
//.js
getChooseAvatar(e) {
console.log(e);
this.setData({
avatarUrl: e.detail.avatarUrl,
})
},
二、獲取昵稱的正確姿勢(shì)
需要將 input 組件 type 的值設(shè)置為 nickname,當(dāng)用戶在此input進(jìn)行輸入時(shí),鍵盤上方會(huì)展示微信昵稱。
從基礎(chǔ)庫2.24.4版本起,在onBlur 事件觸發(fā)時(shí),微信將異步對(duì)用戶輸入的內(nèi)容進(jìn)行安全監(jiān)測(cè),若未通過安全監(jiān)測(cè),微信將清空用戶輸入的內(nèi)容,建議開發(fā)者通過 form 中form-type 為submit 的button 組件收集用戶輸入的內(nèi)容。
<form bindsubmit="userInfoLogin">
<input name="nickname" type="nickname" class="calculate-input" placeholder="請(qǐng)輸入昵稱" value="{{nickName}}" />
<button class="move-anim-box weight-save" type="primary" form-type="submit">保存</button>
</form>
userInfoLogin(e) {
this.setData({
nickName: e.detail.value.nickname
})
},
總結(jié)
開發(fā)前要經(jīng)常留意版本的升級(jí)調(diào)整文章來源地址http://www.zghlxwxcb.cn/news/detail-549628.html
到了這里,關(guān)于微信小程序最新獲取頭像昵稱方式的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!