微信小程序又雙叒叕改重要接口了!

來源:掘金
2021-04-30
19874
導語:微信官方在2021年2月24號發布了一篇小程序登錄、用戶信息相關接口調整的通知,通知調整了三個模塊的內容,分別是放開wx.login獲取unionid的能力、停掉wx.getUserInfo接口獲取用戶信息的能力、使用wx.getUserProfile接口獲取用戶信息。
閱讀本文大概需要4分鐘

微信官方在2021年2月24號發布了一篇小程序登錄、用戶信息相關接口調整的通知,規定在2021年4月28日24時停止wx.getUserInfo接口獲取用戶信息的能力。

通知調整了什么?

這個通知主要調整的內容有三塊:

1. 放開wx.login獲取unionid的能力:

只要開發者將小程序綁定在開放平臺上,那么開發者調用這個接口就能獲取到用戶的unionid。這樣就避免了開發者需要調用wx.getUserInfo接口讓用戶授權來獲取用戶unionid的問題。也為下面一個調整掃清了障礙。

2. 停掉wx.getUserInfo接口獲取用戶信息的能力:

可能微信官方也意識到了wx.getUserInfo這個接口的問題,這個接口的設計其實并不合理,為啥呢?因為這一個接口干了兩個事情:第一是獲取用戶信息(就是頭像昵稱等),第二呢,這個接口還承擔了獲取用戶unionid的功能。這就導致開發者為了打通多個小程序、公眾號、移動應用等的數據,而調用wx.getUserInfo接口。開發者事實上的需求只是獲取用戶unionid(這本應該是登錄接口給出的信息),而不是用戶頭像信息,也就是說這個接口事實上被濫用了。

3.使用wx.getUserProfile接口獲取用戶信息:

如上面所說,由于意識到wx.getUserInfo接口設計不合理,微信就將這個接口廢除了,用wx.getUserProfile取代之,新接口的功能很明確:獲取用戶信息。

怎么看待這個調整?

在我看來,這次的調整其實徹底劃清楚了小程序登錄與授權的界限。關于小程序登錄與授權請參考這兩篇文章:小程序登錄、小程序授權。 首先unionid完全由wx.login接口獲取,沒有再跟用戶頭像等信息攪合在一起,登錄的功能歸了登錄;授權頭像由getUserProfile接口獲取,授權的功能歸了授權的接口。這樣就貫徹了一個接口只做一件事情的原則。因此,從設計的角度來說,這次的調整是完全合理的。 當然,這個調整過程也比較迅猛,很多開發者對此都頗有怨言,也許官方能有更合適的做法吧。

新開發的小程序該怎么做?

通知的最后部分有這樣一段最佳實踐:

調整后,開發者如需獲取用戶身份標識符只需要調用wx.login接口即可。 開發者若需要在界面中展示用戶的頭像昵稱信息,可以通過組件進行渲染,該組件無需用戶確認,可以在界面中直接展示。 在部分場景(如社交類小程序)中,開發者需要在獲取用戶的頭像昵稱信息,可調用wx.getUserProfile接口,開發者每次通過該接口均需用戶確認,請開發者妥善處理調用接口的時機,避免過度彈出彈窗騷擾用戶。

這段話其實寫得很清楚了,對于不需要用到其他用戶信息的小程序,完全不必調用接口去獲取用戶信息,直接使用開放數據即可展示自身頭像性別,參考這篇官方文檔。 如果確實需要其他用戶的用戶信息,比如做一個評論功能,可能需要展示所有評論人的信息,像這種就必須在用戶評論前通過wx.getUserProfile接口來獲取其用戶信息了。

老代碼如何修改?

對于已經上線的代碼該如何修改呢? 首先需要檢查小程序客戶端所有用到wx.getUserInfo接口的地方,將這個接口替換成wx.getUserProfile。同時檢查下小程序服務端代碼,看看是否用到了wx.getUserInfo解密后unionid字段,若有,則需要做好兼容(因為wx.getUserProfile不會返回unionid)。如果還要做得更細致些,那么還需要處理微信版本的兼容問題,具體請參見官方文檔。



免費獲取專屬 《策劃方案 》及報價
免費體驗我們的業務系統、OA系統、在線教育、電商系統、智慧辦公等產品定制化方案,助力您的信息化發展之路
即時交流
在線咨詢 電話咨詢
在線咨詢
產品經理

一對一產品經理

180 8812 7777
電話咨詢

電話咨詢

0871-6718 6978
到訪面聊
返回頂部
欧美人妻久久精品,久久国产色av免费看,女人国产香蕉久久精品,伊人久久综在合线亚洲