猜猜微信拍一拍是怎麼實現的?

雙擊頭像

好久以前我就發現微信就已經支持了這個功能,但一直都不知道頭像晃動的動畫是什麼意義。直到最近羣裏各類「拍一拍」玩起來,第一時間想到了雙擊頭像這件事,因而立刻去試了試,發現雙擊後仍是沒出現「拍一拍」的文本。後來想到必定是要更新客戶端,更新後,成功了。服務器

簡單猜想實現思路

1.「拍一拍」的文字樣式客戶端已經支持

不難看出,這個樣式明顯就是撤回消息的文本樣式,因此客戶端在收到服務器 response 後直接還複用這個「撤回消息」便可微信

2. 爲何必定要升級版本

猜想微信的產品經理一直沒想好這個抖一抖的頭像要接一個什麼功能,雙擊頭像後的動做客戶端就一直沒實現,因此以前的版本雙擊不能發「拍一拍」消息出去,此次更新感受核心就是處理了雙擊後的一系列事件。若是以前已經接好了服務器接口,只等服務器上線新接口的話,可能會給用戶更大的驚喜,特別是以前就知道雙擊頭像這個動做的用戶網絡

3. 暴力連續 「拍一拍」

連續一直雙擊頭像會發現,只有第一次會發送信息,剩下的雙擊只會觸發客戶端行爲「頭像抖動」,是作了防爆處理的。大概過 10s 左右後恢復,能夠再次觸發動畫

4. 斷網下「拍一拍」

斷網狀況下,雙擊頭像,會發現,本身先能看到 「拍一拍」,而後過了一段時間後,會出現「因網絡緣由,對方可能不知道你拍了他」。這就證實是先走客戶端的渲染邏輯,而後再發的網絡請求,網絡很差的狀況下應該會通過重試過程,若是最終仍是失敗,則顯示網絡緣由失敗的字樣cdn

5.「拍本身」

雙擊本身頭像,會顯示「你拍了拍本身」,只是雙擊用戶信息是本身的狀況下這樣顯示,這沒什麼特別的,可是請求失敗狀況下的文案沒太能對上,仍然顯示的是「對方可能不知道你拍了他」,猜想這個文案是寫在客戶端的,可能要改的話又得更新版本嘍blog

大家還有什麼其餘見解?一塊兒來聊聊?

歡迎評論區說說,關於「拍一拍」大家都發現了什麼?接口

相關文章
相關標籤/搜索