猜猜微信拍一拍是如何实现的?

今天就在这里跟大家说一下我的看法吧

 

#双击头像

很久之前我就发现微信就已经支持了这个功能,但一直都不知道头像晃动的动画是什么意义。直到最近群里各种「拍一拍」玩起来,第一时间想到了双击头像这件事,于是马上去试了试,发现双击后还是没出现「拍一拍」的文本。后来想到一定是要更新客户端,更新后,成功了。

 

#简单猜测实现思路

1.「拍一拍」的文字样式客户端已经支持

不难看出,这个样式明显就是撤回消息的文本样式,所以客户端在收到服务器 response 后直接还复用这个「撤回消息」即可

2. 为什么一定要升级版本

猜测微信的产品经理一直没想好这个抖一抖的头像要接一个什么功能,双击头像后的动作客户端就一直没实现,所以之前的版本双击不能发「拍一拍」消息出去,这次更新感觉核心就是处理了双击后的一系列事件。如果之前已经接好了服务器接口,只等服务器上线新接口的话,可能会给用户更大的惊喜,特别是之前就知道双击头像这个动作的用户

3. 暴力连续 「拍一拍」

连续一直双击头像会发现,只有第一次会发送信息,剩下的双击只会触发客户端行为「头像抖动」,是做了防爆处理的。大概过 10s 左右后恢复,可以再次触发

4. 断网下「拍一拍」

断网情况下,双击头像,会发现,自己先能看到
「拍一拍」,然后过了一段时间后,会出现「因网络原因,对方可能不知道你拍了他」。这就证明是先走客户端的渲染逻辑,然后再发的网络请求,网络不好的情况下应该会经过重试过程,如果最终还是失败,则显示网络原因失败的字样

5.「拍自己」

双击自己头像,会显示「你拍了拍自己」,只是双击用户信息是自己的情况下这样显示,这没什么特别的,但是请求失败情况下的文案没太能对上,仍然显示的是「对方可能不知道你拍了他」,猜测这个文案是写在客户端的,可能要改的话又得更新版本喽

你们还有什么其他看法?一起来聊聊?

欢迎评论区留言,关于「拍一拍」你们都发现了什么?

 

 

 

技术
©2019-2020 Toolsou All rights reserved,
明明是post请求为什么会在地址栏显示参数?Vue开发小技巧(精华)2020年7月15日 微信小程序 import和include差别SpringDataJPA的Repository理解vs2017,创建C++Win32窗体应用程序【Python】读取txt文件,获取指定行中指定位置数据git拉取远程分支并切换到该分支keras从dataframe中读取数据并进行数据增强进行训练(分类+分割)2年前出厂的小天才电话手表无法使用 联通:2G网已关闭el-ui:select获取值