不少时候咱们无心识地用微信扫描一个 QR Code,而后不管打开的是什么咱们用就是了。我常常会好奇到底 QR Code 编码的是什么信息,究竟是一个 ID 呢,仍是一个 URL(多是 deeplink)呢,仍是一个 JSON 呢。因此我作了这个简单的 Workflow,先把 QR Code 的纯文本内容显示出来,而后再让我选择使用哪一个 app 来接收这个字符串。若是这个字符串是 URL,Workflow 会提示我用浏览器打开,我也能够用 Opener 来打开 deeplink。浏览器
若是你尚未安装 Workflow,你能够先去免费下载安装上。而后打开 Scan QR Code 并点击「GET WORKFLOW」,这个 Workflow 就会被自动导入到你的 Workflow 中去,而后你就能够调用它来扫描 QR Code 了。微信
此外顺便推荐一下上面提到那个叫作 Opener 的 app。它作的事情很简单,你给它一个网站的 URL,若是那个网站有对应的 app 的话,它会尝试经过 deeplink 在 app 里面打开这个 URL 对应的内容。举个例子,我在 Mobile Safari 上打开了一个知乎的问题,而后我能够把这个网页的 URL 发送给 Opener 让它帮我打开知乎 app 且在知乎 app 内打开同一个问题。app
这个 Workflow 最重要的 action 是第一步,利用「Scan QR/Bar Code」把 QR Code 扫描出来。这一个 action 会返回 QR Code 本后编码的字符串,而后咱们把它存到 Content
变量中去。网站
接下来「Get URLs from Input」这个 action 能够把 Content
中看似 URL 的内容提取出来,所以若是 Content
是 URL 咱们就会获得 URL 不然就没有内容。为了验证 URL 提取成功,检查提出出来的内容包含 ://
,若是有的话那就必定是 URL 了,不然就是非 URL 的文本。google
对于 URL,我提供 5 个操做的选项;对于非 URL,只有其中的 2 个。而后下面是根据用户做出的选择,执行 5 个操做之一:编码