在软件发布流程中,最尴尬的事情莫过于:宣传图已经发出去了,用户扫码后却发现链接打不开,或者下载了一个旧版本的安装包。

我就亲身经历过这么一次“翻车”事故。

事故现场:一个 URL 引起的麻烦

我曾经碰到这样一个情况,网站上附带有二维码,用于下载安卓 APP。某天,用户反馈扫码下载的安卓 APP 没有新开发的功能。经过排查才发现是二维码的问题。

使用网站点击下载的用户正常,使用手机扫二维码下载的安卓 APP 没有新功能。原因为扫码下载还是使用的老链接地址,使用的上一个版本。这个时候,测试如果不细心的话,就不会发现这个问题。如果你手边有个可以识别二维码内容的小工具,那么你大概率不会在这种问题上栽跟头。

虽然这只是一个低级错误,但它让我意识到:在二维码挂载后、正式发布前,必须有一个极简的“内容鉴定”环节。

痛点:如何快速、无痛地校验?

通常我们校验二维码,习惯性地直接拿手机扫一下。但如果二维码指向的是一个大容量的 APP 下载包或复杂的跳转链接,扫码后手机会自动触发下载或进入复杂的网页路径。

我其实并不想真的下载并安装测试(那是后续的 QA 环节),我只是想一眼看到二维码里到底写了什么字符,确定那个 URL 是不是我想要的那一个。

实现:借力小程序的原生能力

既然发现了痛点,解决起来就非常顺手了。得益于微信生态对扫码的深度支持,我在“豆子工具”里实现了一个“二维码识别”功能:

  • 核心逻辑:直接调用小程序的 wx.scanCode 接口。
  • 功能表现:不仅支持扫描实物二维码,还支持从手机相册里直接读取生成的二维码图片。
  • 结果反馈:系统不会触发自动跳转,而是将二维码包含的原始文本、URL、一维码内容直接以纯文本的形式展示在屏幕上。

当你碰到陌生的二维码时,忍不住想看,但又担心是病毒时或者有害网站时,不妨先使用该工具扫描二维码。如果二维码内容是网站链接,它不会跳转到网站,只会显示网址,非常安全。

价值:多看一眼,少出一次错

现在,每当我生成一个新的二维码,无论是用于软件下载、文档分享还是活动跳转,我都会习惯性地用自己的工具“扫一下”:

  1. 确认 URL 参数是否完整。
  2. 确认是否有肉眼难以察觉的拼写错误。
  3. 确认二维码的类型(一维码还是二维码)是否符合预期。

识别二维码

总结

这个功能的代码实现极其简单,几乎就是调用一个 API 的事。但它的价值在于改变了工作流——在发布前的最后关头,提供了一个低成本的“人工校验点”。

很多时候,工具的作用不仅仅是自动化,更是为了在我们疏忽大意时,拉我们一把。