适逢 Workflow 做了最有历史意义之一的小版本更新(个人观点),我就在睡梦中被炸醒了。1.5.3 版 Workflow 已经全面支持 Web API,当然最重要的是梦寐以求的 POST 支!持!了!!于是乎我二话不说把此流程适配了。本流程用于补充本地二维码识别的功能,自此,再也不用专门到微信去识别相册里的二维码了。

提要

如果你认为注册个人 API 比较费劲的话,你可以尝试Lentin提供的公共 API 版本Public API Version,此版本不需要任何个人信息,可以即下即用。不过由于服务器在国外的原因,访问的时间相对比较长,如果有条件的话建议继续阅读下文并使用文末附件版本;效果与代理的质量也有一定的关系,如果你使用了以上版本,请不用继续阅读并不需要修改任何个人信息,感谢Lentin告知的 API。

分析

向来 Workflow 都支持扫描二维码,但是有一个更常用的情景,就是识别本地相册或从分享按钮得到的二维码。以前,你不得不用两台设备,一台负责打开二维码,一台负责扫描;更普遍的是打开微信,通过微信的扫描功能识别相册二维码。当然后者是推荐的,但是略显繁琐,你不得不把二维码保存下来,而且当二维码内容是 URL 的时候,你还得手动去跳转,本流程 QRCode Detect 就是为解决这一问题而生的。其实这一流程已经经历过两版数月了,只是一直没有太好的体验所以没有分享给大家(第一版用 Imgur 作为中介接收图片,但是国外服务器上传略慢;第二版自己从后端解析,对普通用户不具有可复制性)。现在你只需要知道,你去申请个 API 就可以了!

实现

QRCode Detect 主要由四种方式运行:

  • 通过 Action Extension 以 Run Workflow; Run Workflow-1
  • 通过 Today Widget 以选择扫描二维码; Run Workflow-2
  • 通过 Today Widget 以识别最新一张图片(需保证该图片是二维码);
  • 通过 Today Widget 从五张最新的图片中选择(要求 iOS 10 以上)。

扫描二维码是 Workflow 已有的功能,这不需要太多处理;识别本地二维码需要借助 API 实现,下面需要你根据步骤申请二维码识别API。

步骤

  1. 打开二维码识别页面完成注册和登录;
  2. 申请套餐,按下图提示操作; 步骤-2
  3. 到「我的应用」点击「查看密钥」,复制你的密钥(secret)和 appid;(声明:即使是免费 API,你也必须遵守使用准则,不得泄漏和传播个人密钥,以免对平台造成不必要的损失。步骤-3
  4. 打开 QRCode Detect,按提示输入你的 API 密钥(secret)和 appid 即可。 步骤-4

说明

再次提醒,请不要大范围分享你的个人密钥,这对你的个人没有太大损失,但这有违使用的准则,我们应该做到取之有道,用之有节,不要给平台造成不必要的损失。如果你要分享本 Workflow,请你分享本文章或去除你的个人密钥,感谢。

附件

Workflow: QRCode Detect

V1.3 [2017-05-18 16:30]

  • New API service replacement. (Please reorder the new API service following the steps above.)

V1.2 [2016-12-27 13:45]

  • New function "Select Manually" to choose QRCode from latest 5 photos.
  • New function to detect workflow.is from decoded URL and ask for import.

V1.1 [2016-11-27 11:00]

  • Minor Optimization.

如有问题,欢迎留言或邮件咨询