從去年年底開始到今天這段時間,微信小程序生态比較大的動作就是開始對用戶隐私保護方面做出各種調整。(當然是件好事情)
這讓原本可以方便使用的一些開放能力,被陸續收回去了,比如open-data這個組件的展示用戶信息的能力就被回收了。下面的截圖是官方給出的通知。
能力被回收通知
果然還未到時間,使用了此組件的地方就變成了如下這樣:
灰色頭像、昵稱為“微信用戶”
如今隐私保護越來越被大家所認同和重視,是大勢所趨,對互聯網行業發展有益無害。
記得15年的時候每安裝一個APP都需要獲取各種各樣的權限,有時候八竿子打不着的權限也要,不給還不能安裝,可惜那時候整個App行業尚處于早期野蠻生長階段,少有人在乎這種問題。那時候還有各種SDK都悄悄要通訊錄權限,簡直無法無天。(當然以上說的都是Android生态,這方面蘋果的iOS做得就是好不得不佩服。)
如今大家連頭像和昵稱都開始注重起來了,有沒有發現我們發個微信截圖都會把頭像和昵稱給馬賽克。
扯遠了,回正題。
既然open-data能力被回收了,那麼我們如何盡量挽回用戶體驗的損失呢?
這裡給出兩種方案。
一、授權獲取微信用戶的頭像及昵稱并保存
如果隻是簡單的展示用戶的微信頭像和昵稱,不需要自定義時,可采取此方案,授權獲取到數據後記得保存到後台,否則下次仍需要授權獲取。相應的API為wx.getUserProfile。
二、自己開發頭像及昵稱設置功能
這裡又分使用微信頭像及昵稱作為默認的頭像和昵稱(同樣需要做授權處理)同時可以自定義昵稱及上傳自定義頭像;再者就是利用微信官方提供的button和input的擴展能力直接獲取微信頭像和昵稱,并且它們自帶頭像上傳和昵稱修改功能
當然為了少造輪子,我們建議直接使用官方提供的擴展能力。
注意:
1)這裡将用戶上傳的頭像圖片保存到了雲存儲中,因image組件支持顯示雲存儲中的圖片文件。你也可以選擇其他存儲方式,如七牛雲。
2)button和input的擴展能力,獲取微信頭像和昵稱,在PC上尚不可使用;但open-data展示用戶的微信頭像和昵稱在PC上卻仍可以使用。所以請注意兼容處理。