您现在所在位置: 首页 > IT知识库

微信“拍一拍”,只用一行代码就实现了?

发布时间:2022-01-12点击数:

      近日,微信推出新功能“拍一拍”。这个风趣的功能一上线就炸了锅,冲上热搜。


      所谓“拍一拍”,是指在私聊或群聊的时候,双击对方头像,手机就会震动两下,同时,聊天框里就会提示“你拍了拍xxx”字样。虽然被拍的用户只能看到字样,手机不会震动,但聊天框却和收到消息一样,被显示到前排。

      网友吐槽:这个功能真是鸡肋

      很多网友抱怨,这个功能没起到提醒目的,却让人意识到自己时刻在线,增加了焦虑。还有网友吐槽,现在微信还有很多不完善的功能,推出这么个功能,没有实际用途,真是鸡肋。

      这个新功能马上被玩得花样翻飞。一些网友将昵称改成马屁、钱包等,群里画风顿时诡谲异常。





      有人说,这个功能终结了“在吗”的问候方式。但也会有尴尬的事情发生。比如,你在群里爬楼的时候,没忍住双击了领导的头像。


      针对微信待开发的功能,很多媒体在微博上发起了投票活动。


      支持者力挺:这是产品经理式的浪漫

      有人反对,就必然有人赞同。有人将这个看似鸡肋功能看作“产品经理式”的浪漫情怀?这个功能有以下几个作用:

      1. 缓解社交压力

      拍一拍的存在,会缓解“在吗”引起的尴尬与不适;虽然,“拍一拍”和QQ的“抖一抖”、“戳一戳”类似,都属于向好友轻量级打招呼,但“拍一拍”很克制很微弱,并没有像“抖一抖”那样,将对话框突兀地到屏幕前,给对方造成干扰。

      2. 熟人间互动游戏

      实际上,“拍一拍”与其说是功能性的,不如说是娱乐性的。拍一拍这个动作,在现实生活中,只有熟人之间才会发生,通过这个小功能,能够增加熟人之间的互动感,而且对不同的人拍一拍,会得到不同回应。




      3. 提高社群活跃度

      微信产品经理张小龙这样评价“拍一拍”功能:


      这个功能明显提升了微信活跃度,尤其是提高了微信群的活跃度。


      大家都有很多微信群,但活跃的群不超过三分之一,有些群只是管理员每天发早报、广告,即便工作群,除了工作汇报,也很少热起来,根本没实现社群互动效果。“拍一拍”虽算不上酷炫,却为沉寂的社群提供了促活机会。

      关于“拍一拍”的一行代码

      很多人感兴趣实现“拍一拍”的这行代码长什么样,于是有大神贴出了下面这一行使用了 Lambda语法的C++代码:


      这行代码,主要是在“拍了拍”前后传递你和好友的微信昵称参数,发送相应接口后,输出为一条小灰色条消息。但这程序里不包括双击抖动头像的效果,因为这个功能是之前版本中的。

      另外,Python也能实现这个功能,步骤如下:

      1. 用appium操控手机

      安装appium后用Python打开微信,如下:


      难点是desired_cap参数配置,下面介绍一下:

platformName:表示设备操作系统

deviceName:表示设备名称

apppackage:表示app程序包名

appActivity:表示app入口Activity名

手机连接电脑后,打开开发者模式,运行程序,手机里的微信就自动打开了。

      2. 模拟双击头像

      (1)原理介绍

      微信“拍一拍”通过双击好友头像实现,如下图:


      想双击头像,就要先获得头像在屏幕中的坐标。这里给大家介绍一个函数。

      基于Python-opencv2的目标定位模块:Aircv使用其find_template函数,可以查找目标图像在原始图像中的坐标范围,用法如下:

imgsrc=原始图片路径

imgobj=待查找目标图片路径

      若未找到,则match_result=None;若找到,则返回如下数据:


      其中:

result为匹配图片在原始图片上的中心坐标,即点击点;

rectangle为匹配图片在原始图像上四边形坐标;

confidence为匹配相似率

      (2)如何在程序中自动获取好友头像坐标?

      在appium中,头像在屏幕中像素为140×140。先保存好友头像,用PS将头像改为此像素。

      在程序中创建1个while循环,在第一步基础上,手动进入好友聊天框(也可通过识别好友头像自动进入);

      通过appium对手机屏幕截图,命名为src.png,将其和头像路径(obj.png)导入1中检测函数:


      若返回None,说明聊天窗口没检测到好友头像,继续循环;若检测到头像坐标,则解析返回的坐标数据,用for循环模拟双击坐标位置:


      以上就是实现“拍一拍”的过程,学会了吗?


东软睿道数据结构系列课程,免费上线!

8堂课,近10小时课程,让你掌握数据结构重要考点。课堂中附源码及文档,便于反复学习。

请大家戳以下海报二维码收看。



  • 友情链接

关注东软睿道公众号了解更多IT行业资讯

添加东小萌微信
获取更多IT学习资源