专栏首页花叔的专栏我来不匿名聊聊这小程序的技术观察

我来不匿名聊聊这小程序的技术观察

在这之前,我要先发个誓:本文绝无帮别人做广告!如过有!那我的笔记本电脑不得好死。

事情是这样的。。。

相信很多同学的朋友圈今天被一张写了一句话,加上一个菊花码,还加上三个数字的图片刷屏了。

这款小程序名字叫「匿名聊聊」,花叔从中午就开始看到这个小程序在朋友圈刷屏,自己也转发了类似的图片,有些网友看到后还问我是不是我做的,很遗憾,不是我做的,但我可以从技术角度给大家解读一下这个小程序的一些实现逻辑。

在说技术细节前,我首先要澄清一个事情:部分网友以为这款小程序是腾讯官方做的,我可以明确地告诉大家:不!是!的!

小程序主体鉴别方法

大家可别以为牛逼的小程序都是腾讯自己做的哈,民间也有很屌的小程序的,至于怎么看出来的呢?今天顺便教大家一个鉴别小程序所属主体的方法,很简单:

进入这个小程序后,点击右上角会弹出一个菜单,然后按照图示就能找到它的主体信息,这个小程序是一家厦门的公司做的,从它的“服务及数据”接口来看的话,你还能发现它有个产品叫“印象朋友”。

这是公司为主体的小程序,小程序还有个人为主体的,花叔的「Nodes」小程序就是个人为主体的,里面会显示个人开发者的姓氏:

于是现在大家都知道我叫“周杰伦”了!哎呦,不错吧?

所以,以后大家看到某个有意思的小程序时就这样子去看它的主体来判断是什么人做的就好,别傻傻地觉得都是腾讯做的哦,虽然腾讯内也有外包给别的公司做小程序的情况,但实际上这种情况很少。

匿名聊聊小程序的技术猜测

创意和产品不是花叔擅长的领域,这里就不细说了。接下来,花叔从专业角度来给大家猜想一下这款小程序的技术细节,以下为花叔个人对这款小程序的技术解读,由于没有源码(人家也不可能给我源码),没法深入理解真正的技术要点,以下只为猜想,大家可以理解为:如果是花叔来实现这个小程序,那么技术架构是怎么搭建的。

首先,根据这个小程序的功能点,我用「Nodes」预想了一下这里头涉及的技术点和小程序API:

附大图:

实际上,这个小程序应用的技术并不难,

主要技术概括起来有三点:

  1. WebSocket技术,用以去实现匿名聊天
  2. canvas绘图技术+图片预览技术,用以实现用户头像和小程序自身小程序码的组装结合

巧妙的地方有一点:

要做到聊天室的唯一并且可传播,有两个做法,第一种做法是:生成带参数的二维码图片;第二种做法是用固定二维码或程序码+密码校验

显然开发者用的是第二种做法,为什么说它巧妙,首先我要给大家科普一个事情,带参数的二维码是有生成次数限制的,按照这款小程序目前的转发量来看,显然二维码是不够用的,

所以开发者选择了第二种方法,他们把小程序码中间的logo挖空,然后用canvas api去把用户的头像和挖空的小程序码图片叠加组合,这么说可能有点抽象,我举个例子,例如Nodes小程序的小程序码是这样的:

通过以下操作,就能变成一个个性化的小程序码,

然后再加上一个随机的三位密码,进行聊天室的校验。

这个设计套路还是蛮有趣的,能借鉴到其他小程序项目中。

但这个小程序也有美中不足的点:

  1. 它的授权机制没做好。静默授权跟用户信息获取的API相互结合,用以实现整个程序的鉴权体系,这样会导致一个很不友好的情况出现,就是用户拒绝授权后,需要删掉小程序才能重新发起授权确认(或者要做一个单独的授权管理页面)
  2. 服务器承载能力预估失败。聊天框消息因网络问题没法正常接收和发送,这应该跟并发量太高有关,可能不算是不足的点吧,应该算是意外吧,可能也没想到会这么火。

略表愚见,希望大家喜欢,同时大家有觉得好的小程序也可以告诉我,我来帮忙做技术观察。

最后,希望该小程序的开发者看到本文觉得不对的时候不要拆穿我~^_^~

毕竟,我也会卖萌哒吖~耶~

本文分享自微信公众号 - MinProgram(gh_0d2d5abccc20),作者:花叔

原文出处及转载信息见文内详细说明,如有侵权,请联系 yunjia_community@tencent.com 删除。

原始发表时间:2017-05-19

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • 实践并解读最新的小程序码生成方式

    花叔一看到这个新特性时就开始着手研究这特性怎么应用,经过一轮测试,终于有点成绩,来看看花叔的研究成果,希望对大家有用。

    花叔
  • “附近的小程序”上线,小程序又丢了个R技能

    微信官方半夜又放大招,这次是憋了很久的“附近的小程序” “附近的小程序”正式开放: 有小程序的商户,可以快速将门店小程序或普通小程序展示在“附近”。 当用...

    花叔
  • 解读,小程序显示关注公众号的组件是有条件的

    以免同学们过分解读,进而增加往后跟大家讨论需求时的沟通成本,这里稍微解读一下“扫码打开小程序新增公众号关注组件”的功能。

    花叔
  • 小程序的八大赚钱模式

    微信小程序上线至今11个多月,入口不断增加、功能持续迭代。很多创业者看中了其中的商机,渴望抓住小程序这波超强红利。

    云蚁科技
  • 小程序用起来耗流量吗? | 小程序问答 #5

    知晓君
  • 妈妈说我穷得连个小程序都没有

    这个标题,来源于我『穷得连只猫都没有』的现状。那么就着这个梗,咱就来说说什么叫『穷得连个小程序都没有』。

    姬小光
  • 未雨绸缪才能有备无患,小程序运营的前期准备

    平台怎么还会有类型呢?不就是一个小程序商城吗?如果这样想的话,那么就太狭隘了,小程序不仅仅只是一个小程序商城这么简单,它还可以做资讯推广或者是一个商城平台。微宝...

    微宝阁
  • 微信“小程序云”(云开发)简介与初体验

    在7月10日的微信公开课第七季上,微信小程序团队预告了小程序云的到来。目前官方已经公测:地址 。现在名为“小程序·云开发”。本文笔者将从一个开发者的角度去介绍及...

    Jeff
  • 有一大波小程序正在靠近小程序定位小程序野心小程序开发最后

    早期小程序想吃螃蟹的人,想着抢占第一波流量福利,然而小程序的定位及早期玩具形态,纯小程序应用基本都没有变现,太过超前反而得不偿失。

    IT晴天
  • 还不会用微信小程序?这篇文章给你扫扫盲 | 小程序问答 #16

    是因为方便,小程序不需要下载、安装,就能用?还是因为小程序体积小,拯救了你 16G 的手机?

    知晓君

扫码关注云+社区

领取腾讯云代金券