不少時候咱們無心識地用微信掃描一個 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 個操做之一:編碼