写在前面

本文将分享几个 Workflow 有意思的小技巧,用于一些特殊的使用场景。由于文章篇幅较长,各位可根据需求选择性阅读。

如果你还不了解 Workflow 的基础用法,可以先阅读少数派的 Workflow 系列教程,对这款 App 的使用作了由浅入深的全面介绍。

以下为文章概要:

  1. Add New Reminder 的用法

    1. 在通知中心做一个剪贴板列表
    2. Ask for Input 做一个历史输入
    3. Reminder 使用的延伸
  2. 如何用 Workflow 「监控」你的相册

    1. 让 Workflow 判断你保存了几张照片
    2. 让 Workflow 判断你是否删除了照片
  3. 处理搜索类 API 返回的 JSON
  4. 在通知中心完成翻页
  5. 如何排查 Workflow 的问题

Add New Reminder 的用法

Workflow 本身没有记录功能,不能保存任何文字,不过它里面自带了一些 Action 可以充当笔记本,比如 印象笔记 和 Drafts 4,这两个 Action 运行起来有各自的优缺点。首先,印象笔记是通过联网来进行的上传和下载,可以直接在通知中心运行,但不管你是国内账户还是国际账户,都需要等待一段时间,碰到网络不好的时候,可能还需要重新运行。但是使用 Drafts 话,它又需要来回跳转,不能在通知中心完成调用文字。于是,为了找到更合适的解决方案,我们实际上可以尝试使用 iOS 系统的「提醒事项」应用(即 Reminder)。

作为一个添加提醒事项的 Action,Reminder 的主要工作就是用来创建待办提醒,很多人很难想到把它当作「笔记本」来使用。这是因为,Reminder 添加的内容很齐全,标题、列表、日期、提醒时间以及笔记(Notes)都可以。

所以这里我们换个思维,把添加提醒事项的 Notes 当作保存文字,获取提醒事项的 Notes 当作调用之前保存的文字。这样我们只要把需要储存的文本(这里不讨论图片),添加到提醒事项的 Notes 里面即可。想要调用的时候,可以用Find Reminders Where (查找 Reminder 的一个 Action)和Get Details of Reminders(Get Notes)(获取 Reminder 里面的 Notes)来获取。这样我们就可以把它充当为一个可以通知中心调用的「本地笔记本」

实例 1) 在通知中心做一个「剪贴板列表」

很多时候,我们需要在两个 App 之间复制内容,但有时需要复制不连续的几条内容时候,就会导致要来回跳转 App,很繁琐。用 Workflow 可以很好解决这个问题。

既然 Reminder 可以在通知中心调用,那我们就利用这个优点,做一个在通知中心运行的 Workflow。思路很简单,分为两个部分:

1. 添加到剪贴板列表(也就是提醒事项的笔记)。它只需要一步即可,如下:

2. 获取剪贴板列表(也就是获取之前添加的提醒笔记,让我们选择即可)。

下载「剪贴板列表」Workflow >

实例 2) 为 Ask for Input 做历史输入:「读书笔记」

最近在看实体书,主要是因为想看的那几本书没有 Kindle 版,所以不得不买了实体书,用惯了 Kindle,再看回实体书的话,就发现一个毛病,就是在看实体书的话,如果觉得某句话写的好话,会忍不住的用手指想要标注那句话。

既然养成了随时摘录读书笔记的习惯的话,那就要好好保持下去,于是我就做了一个简单的 Workflow,首先 Ask for Input 去输入你想记录的那句话,然后再 Ask for Input 去输入作者,然后再Ask for Input 输入书名,然后在 Ask for Input 去输入页码。最后把这几个元素按照喜欢的顺序摆好,加上日期和时间,保存到 Drafts 里面。

但是这样会有个麻烦的地方,就是我们在看一本书的时候,不可能只摘录一句话。如果摘录 2 句以上的话,就意味着作者和书名这两个东西,我们要反复输入 2 次以上了

书名短的话,倒还好,长的书名的话,很快会消磨你摘录笔记的欲望。

既然,书名和作者是一样的,那我们就没必要去反复的输入,给 Ask for Input 弄一个历史输入吧。

下载「读书笔记」Workflow >

Reminder 使用的延伸

Add New RemindersNotes 作为剪贴板也好,作为历史记录也罢,其实都是通过先添加到系统「待办事项」应用之后,再调用出来供你选择。但是并不是说Add New RemindersNotes 只能用来做这 2 种,更多的用法,需要你结合自己的实际需求进行使用。不过,这里涉及到一个问题,需要另外讲一下。

比如,我在按照需求添加了 5 条Add New RemindersNotes ,他们分别是:

这个时候,用Find Reminders WhereGet Derails of Reminders(Get Notes)时,你会发现你获取的项目是这样的:

如果你在这个基础上再添加一条项目 Test6 的话,它是这样的:

它没有出现在第一项,它是出现在最后一项。也就说每次有新的东西添加进去它都放在最下面,这就意味着——以后项目越来越多的话,你想要的项目就有可能越靠后,你需要滑到最后面来找你想要的东西。这在通知中心是会出问题的,iOS 通知中心对条目有限制,iPhone 5s 上目前最多只能显示 11 条,超过后就会崩溃,那条剪贴板 Workflow 就会无法长期使用。

所以这里跟各位分享一个小技巧,「逆序」它的逻辑适合于各种你想要逆序的A list of Items(项目列表)。

下载该 Workflow,建议与下面这个 Workflow 例子对照理解。

首先我们需要一个项目列表,把它添加到提醒事项里面,比如:

Test1

Test2

Test3

Test4

Test5

  1. Count(Items)计算出项目数,设为变量 X。这个动作可以计算出你的列表里面有几个项目,比如说这里有 5 个,它返回的就是数字 5。
  2. 开始进入循环,这里用的循环不是 Repeat with Each ,而是Repeat,循环的次数为变量 X
  3. 在循环里面,先获取刚刚的项目列表,然后再用Get Item from List(Item At Index,Index=变量 X)(这里填的数字为变量 X,X 的值第一次循环的时候是 5),这样一来,我们就获得了 Test5,也就是最新的那个项目。
  4. Add to Variable M(添加到变量)。
  5. 获取变量 XCalculate(-1)(计算器),减去 1 之后,重新设定为变量 X,这样一来,下一次循环的时候,变量 X 的值就会少 1 (5-1=4),那么刚刚的Get Item from List(Item At Index,Index=变量 X)我们就能获取 Test4 了。
  6. 直到循环结束,循环获取变量 M就可以获取一个逆序的项目列表了。
  7. 在用Choose form List(从列表里选择项目),就可以选择你想要的项目了。

如果你只想要获取最新的 10 项,可以把循环的次数控制在 10 。当然如果一开始项目数是小于 10 的话,需要做如下处理:

如果项目数小于 10,就以总的项目数为循环次数,大于 10 则以 10 为循环次数,不然循环的时候会出现错误。

另外,关于上面「读书笔记」那条 Workflow ,为了每次都能保证「输入」那条项目在最后一项,处理方法就是:每次完成逆序之后,再另外添加一个项目,这样就保证了「输入」那个项目不会被其他项目顶出去,而且可以一直都是处于最后一项。然后再添加一个 If 来判断,如果返回的文字 Contains(包含) 「输入」,提示用 Ask for Input 输入的东西,并添加到 Add New RemindersNotes 里面,否则就跳过Ask for Input。这样一来就完成一个历史输入了。

当然因为作者和书名都需要历史输入,所以我用循环来减少自己的做这条 Workflow 的工作量。一样的东西,没必要做 2 遍,用循环就可以了。

如何让 Workflow「监控」你的相册

这里说的「监控」当然不是侵犯你的隐私。Workflow 里面有很多关于照片处理的 Action,我用到最多的就是「保存图片」和「删除图片」了。保存图片除了直接保存到相册之外,还有种方法就是用 Quick look这个 Action,它可以让你浏览大图,并选择性保存到相册(点按「分享」即可保存到相册)。但是这个方法有个问题,因为保存到相册是用户个人的行为, Workflow 并不知道你保存了几张照片。

Get Details of Images (Get Name)

iOS 的相册里,每一张的照片都有自己独一无二的文件名,格式为 IMG_XXXX,即使这张照片被删除了,它的名字也不会被再次使用——当然超过 9999,超过这个数字的时候,计数重新来过,第二次的话,会选择那些已经被删除的照片的名字。也就是说,每张照片的名字就相当于那张照片的「指纹」。那么,我们也可以利用这个「指纹」,来判断目前相册里新增了几张照片。

思路如下:

下载这条 Wrokflow 对照阅读

  1. Get Latest Photos(获取最新照片),Get Detail of Images(Name) (获取这张照片的名字)Set Variabl(设置为变量),意为:在保存任何照片之前,先保存最新那张照片的名字。
  2. 手动保存照片:Quick look
  3. 设置一个变量 0Number= 0,Set Variable 0)。
  4. Get Latest Photos(9Photos),意为:获取 9 张图片,如果你保存的图片可能远远超过了 9 张的话,你可以把这个数字提高些。
  5. 进入循环,这里用的循环是 Repeat with Each(对列表中的每个项目进行同样的循环处理),获取循环的那张照片的名字,和一开始那张照片做对比。
  6. If不相等,获取变量 0,让变量 0加1,并重新设置为变量 0.那下一步的变量 0的值就会是1。进入下一步循环,这样一来,只要名字不一样,变量 0 就会加一。
  7. 直到循环到照片的名字相同,获取变量 0,重新设置为一个变量 X
  8. 循环结束,获取变量 X,X 的值就是新增照片的数量。

注:这条 Workflow 只不过是一个方法而已,仅供测试。需要结合你实际的需求来使用。

Delete Photos

现在可以判断新增了几张照片,那么删除照片呢。Workflow 里面的删除照片的提示框,并不是 Workflow 提示你,而是系统提示你,是否允许某某 App 进行删除动作。

所以,这个删除照片的结果,Workflow 是不可知的。如何让它可知?这里我们依旧用照片的名字。

实例分享

我之前分享过一条删除照片的 Workflow 是获取最新的照片,然后删除。一开始觉得很好用,但是用了一段时间之后,就发现了问题。就是在我想要删除多张照片的时候,比如 4 张的照片的时候,我需要来回点 8 下。非常麻烦。于是我弄了这么一条 Workflow 反复要求我删除照片。直到删到我想停下来为止。

但是有问题,在我不允许的时候,它依旧会提醒我删照片。有时候我想要只删除一张的时候,我需要点 8 次不允许。所以我需要想一个办法让 Workflow 知道我刚刚没有允许删除照片,然后它就可以停止 Workflow。不在继续提醒下去。这条有个好处就是,有时候我分享了一张照片,忘记删除了,但是之后,我又分享了 4 张照片,这个时候打算删除 4 张照片的时候,在 workflow 提示到第 5 张照片的时候,就会发现是刚刚忘记删除的照片,然后继续删除掉。

思路如下:

下载这条 Workflow 对照阅读

  1. Get Latest Photos(10 Photos)(获取最新的10张图片,其实这里获取几张都没关系,不会影响运行速度)
  2. Get Details of Images(Get Name)(获取他们的名字)
  3. Repeat with Each(以名字作为循环体来循环)
  4. 获取最新一张照片的名字,并和当前循环的项目做对比。我们假设刚刚获取 10 张照片的名字为 10,9,8,7,6,5,4,3,2,1。那么最新的一张照片的名字应该也是 10 ,正常来讲应该是相同的。
  5. 相同则提示是否删除。
  6. 如果不同,则Exit Workflow。这里还是以刚刚的 10,9,8,7,6,5,4,3,2,1名字为例,我们假设第一次提示删除的时候,我们点了不允许。那么第二次在进入循环的时候,它的循环体已经不是 10,而是 9 了,这里时候再获取最新照片的名字(因为刚刚没删除,所以还是 10),就会发现是不一致的。从而可以判断,刚刚并没有删除照片,Exit Workflow,反之,如果上一次删除了的话,那么名字就会一致,继续提醒删除。另外如果不退出 Workflow,只会不提示删除,但是循环会继续。

运行效果如下:

你可能会觉得:我直接输入几张照片来删除不是更快吗?我和朋友分享了 4 张照片,我直接输个数字 4 ,比这不知道快多少步啊。确实是这样,点击的次数确实会少很多,但是如果这 4 张照片,不是一口气分享,而是穿插在聊天之中分享掉的呢?这很常见吧,聊一会发一张照片,聊一会发一张照片。

聊天的过程中,你也不可能停下来去删除照片。这样就会有一个问题,每次需要删的时候,都需要去回想刚刚分享了几张照片,然后哪几张是需要删的,回想完之后,在输入数字来删除。手虽然少点了几次,但是大脑却要进行额外的活动。而这个,虽然手多点了几次,但是手只需要去点,大脑只是做一个要不要删的简单判断而已。

处理搜索类 API 返回的 JSON

在继续读之前,请务必先了解如何用 Workflow 处理 API。

阅读少数派文章:《Workflow 教程:征服 Workflow 中的最高峰》

多个返回结果

搜索类的 API 有个特点,它返回的 JSON 经过获取 result,其实是有多个项目的。我打个比方,在 Google 里面搜索一个关键词,出来的网页上又包含多个链接,每条链接它又是一个网页,它们之间是相互独立的。举一个不太恰当,但是可能会比较好理解的例子。用百度翻译的 API 的时候,返回的就是一个「文件」,里面就是我们想要的翻译结果。但是我们用搜索类 API 的时候,返回的可以看作是一个「压缩包」。里面有多个「文件」,每个「文件」都是独立,每个「文件」都有可能是我们想要的信息。把返回的「压缩包」解压,我们就能获得多个「文件」。

接下来我就介绍的就是如何从这多个文件里面找到我们想要的那个文件。当然你可能会说,既然是选择,直接用 Choose from List 去选择不就完了。但是,你要选择的那多个结果,它不是单纯文本,所以你用 Choose from List 之后,出来的结果是这样的。

你根本没法选择,因为显示的是类型。

那么,如何处理比较合适呢?这里以 App Store 的搜索 API 为例,介绍下这个方法。

App Store API 的具体使用方法,请参见官方文档

思路如下:

下载这条 Workflow 对照阅读

  1. 首先获取 JSON,这里的关键字设定为 Workflow。(实际使用的时候,更换为变量)
  2. Get Value for Key 填写的为 results,然后你就会得到这样的东西。

    很明显这里有 50 个返回的 results

  3. Repeat Each ,因为不能直接选择,所以需要对每个 results 都稍作处理,方便我们选择。
  4. Get Variable Get 的变量为 Repeat Item。这个东西是什么呢,这个东西就是循环项目。也就是「压缩包」里面的那些「文件」。
  5. Get Value for Key 填写 trackName 获取 App 名字。
  6. 同上一步,获取 App 的开发商。
  7. 然后,把这2个东西,在 Text 里面摆好,并且,在前面加上 Repeat Index,这个东西就是当前循环的次数。第一次循环的时候,它是 1,第二次的时候,它就是 2。这个东西,比较重要。后面会再提到。
  8. 把摆好的东西,Add to Variable 里面。
  9. 直到循环结束,我们再去获取在循环里面处理过的列表,对它进行 Choose from List ,就会看到一个选择的列表。
  10. 我们选择第一个,返回的是这样一个东西。

    很明显,这不是 results,它只是一段文本而已,根本不能从里面获取任何内容。不过这不重要的,我们要的不是名字,而是前面的那个数字。那么,我们先要获取前面的那个数字。

  11. 因为刚刚的格式是这样的「 Repeat Indexapp名字-作者是开发商」。这样的话,可以用 Split Text(Custom=、)(以「、」为分割目标,把这段文字进行分割),可以把这段文字分 割成,

    Repeat Indexapp名字-作者是开发商,这样2个项目的列表,然后再在这个列表里面选择第一个项目 Get Item from List (Get First Item),即最前面的数字,设置为变量数字

  12. 这个数字有什么意义?以「1、Workflow:Powerful A...作者是DeskConnect,Inc」这个为例,这里的 1 的含义,就是 Workflow 是第一个项目,而前面的数字也就是该项目在 results 里面的序号,还记得刚刚的第 2 步返回的那 50 个 results 吗?
  13. Get Variable(results) + Get Item from List(Get Item At Index,Index=数字) 在多个results 里面获取我们想要的那个 results
  14. 这样一来,我们就能获得,那个「压缩包」里面想要的那个「文件」,接下来,你可以在「文件」里面获取你想要的数据,比如,App 图标,App 截图,App 开发商,App 下载链接,App 价格等等。具体获取方式,请参照《Workflow 教程:征服 Workflow 中的最高峰》《苹果搜索 API 官方文档》,这里不做过多赘述。

另外,这里有 Google 搜索 API,有兴趣可以依照以上教程进行练习下。访问该 API 需要科学上网,进去之后,搜索 「Standard URL Base Address」 找到那条 API 即可。

下载「Google 搜索」这条 Wrokflow

这条乍一看,好像挺有用的,可以在通知中心进行搜索,其实并没有什么卵用啦,默认最多只能返回 8 条搜索结果。你想要获取 8 条以上的结果,似乎要做一些事情。具体可以阅读官方文档。

注:处理搜索类 API 的这个方法,方法源于网上一条由 @seaofclouds 制作的 App Images

通知中心翻页

Workflow 在 V1.3 版本时更新了通知小部件,个人认为非常实用,但是由于位置大小的关系,导致 Workflow 在通知部件里面,无法显示太多的信息,比如上文有说到 iPhone 5s 选择的列表数会被限制在 11 条(目前为 1.4.1 版本)这样就会导致你如果做了一条很适合在通知中心运行的 Workflow,但是却因为选择项目数被限制关系,而不得不放弃,转而选择跳回 Workflow 内运行。

既然这样的,我们换个思维。如果,有一个 15 条项目的选择列表。我们让它分成 2 页,一页 10 条项目,一页 5 条项目,这样就可以在通知中心显示全部信息了。所以,只需要实现翻页这个动作就可以了!

思路如下:

下载这条 Workflow 对照阅读

  1. 首先,我们有一个 15 条选择项目的列表。
  2. 使用 Count(Item) 我们得先让 Workflow 知道有几条项目,获取的数字 设置为变量 M
  3. 在让变量 M 除以 10,因为每页需要设置为 10 条项目,除以 10 之后,我们就可以知道,一共需要几页。
  4. 这里除以 10 之后,得到是 1.5,当然,不可能存在 1.5 页,应该是 2 页,只是第二页未满而已。也就是说,返回的结果是整数的话,比如说 20 条,那就是正好 2 页,如果是小数的话,那就是 个位数加1 页,比如,1.5 的话,就是 1+1=2 页。
  5. If(Contains= .),我们就获取小数点前面那个数字加一,把这个设置为变量 X
  6. 在循环之前,我们先设置一个变量 1

  7. 在这里,我们设置一个循环嵌套,第一个循环次数为变量 X,这个循环的目的,是为了让我们获取几页的结果,比如说循环 2 次,那就是获取 2 页。为了方便下文阅读,这里把这个循环暂时叫做外循环。有外那就有内。我们在外循环里面在设置一个内循环,循环次数为 10 次,目的是为了获取每页的 10 个项目。

  8. 内循环里获取一开始那 15 个选择项目的列表,用 Get Item from List(Item At Index,Index= 变量 1) ,开始第一次循环,这个里的变量 1值还是 1 而已,也就是说,这样我们就能获取这个项目的第一项,Add to Varibale 添加到变量 选择10里面
  9. Get variable(变量 1),让这个变量 1 加 1,重新设置为变量 1

  10. 因为内循环每次循环的时候,变量 1都会加一,也就是说,内循环第二次循环的时候,那么回头看上面的第 8 步,获取的是第二个项目,以此类推,直到内循环 10 次结束。我们就能获得前 10 的项目了。
  11. 获取 变量 选择10,添加一个「下一页」项目,之后,Choose from List,让你选择。这里再用一个 If 判断,如果包含「下一页」,就什么也不做。反之在 Otherwise 里面继续做我们想要做的事情(比如像上一章节说到处理 App Store API 时候,我们可以把上一章节的第 10 步之后的内容在这里去完成,比如获取 App 下载链接)。但是你要记住,外循环还没结束,这一切都还在外循环里面进行着,你做完自己想做的事情之后,需要添加一个 Exit workflow来跳出外循环

  12. 如果你选择了下一页,那就意味着什么都不干,外循环继续。
  13. 外循环继续就意味着,重新开始第二次外循环,即再一次开始 10 次内循环,也就是上面的第 8 步,这个时候,Wrokflow会出现一个提示:

    这个提示框的意思是,我一共就 15 个项目,你却要第 16 个,这个我拿不出来。问题出在哪里呢,问题出在第 8 步的内循环。(我知道看到这里估计很多人都头大了,别急,我们慢慢来)
  14. 外循环循环第二次的时候,变量 1的值,经过了上一次内循环 的 10 次循环,已经变成了 10 了。因为外循环还未结束,所以重新再次开始内循环。
  15. 再次开始内循环的第一步,获取 11 项。直到再次开始内循环循环到第 6 次的时候,变量 1的值为 16,已经大于变量 M变量 M就是整个列表的项目个数,忘记的请回头看第 2 步)
  16. 既然这样的话,那我们就在内循环里面在添加一个判断,If(Is Less Than 变量M+1)(为什么变量 M 值需要+1呢,因为这里的小于是不包括等于的。必须要加 1 ,才能保证15<16,不然的话会丢失最后一项的,这里说的 M+1 就是图片里面的 变量 Q),则去获取列表里面的内容,否则,也就是大于 15 的时候,就什么也不做。也就是说,我如果想要继续进行 Get Item from List(Item At Index,Index= 变量1) + Add to Varibale 添加到 变量 选择10 这一步,我的变量 1 就必须小于 变量 M+1
  17. 在运行一遍看一下,就会发现另一个问题:

    问题在于,第 1 页的内容和第 2 页的内容合在一起了。

  18. 原因在变量 选择10 (忘记变量 选择10 的请回头看第8 步),外循环第一次循环的结果,跟随着变量 选择10 一起接着进入了外循环第二次的循环里面了。
  19. 处理方法,在外循环循环的最后面,清除 变量 选择10 内容。这样一来,外循环每次循环结束之前,都会清空 变量 选择10 里面的内容。

效果如下:

这样一来,就完成了通知中心的翻页。然后,你把这一章节的通知中心翻页和上一章节的应用商店搜索 API 的两个项目一结合。就是我之前在微博分享的那条 Workflow。

我在之后,又更新了那条 Workflow,之前那条 Workflow 会有问题,这里都是以最新的那条为基准来介绍的。

有兴趣的可以研究下,如何把最后一页的「下一页」,改为「没有找到」,虽然没什么用……

如何排查 Workflow 里的问题

一条 Worflow 复杂了就容易发生一些问题,特别是又需要它特别能经得起折腾,能适用各种输入。但是,在制作的 Workflow 的时候,一般都是随意找一个例子来制作的。比如,通知中心翻页那条,我以 15 条项目来进行制作,但是实际上我们在使用的时候,有可能会碰到 1 条、5 条或者 10 条等情况,我们只有完成了之后,才会去测试这条 Workflow,测试完成后,才可以正常使用。但是往往测试的时候有可能就会出现一种情况,我刚刚那个输入都可以正常输出,为什么我稍微一改输入就彻底挂了。到底是那一步出问题了呢?

Quick Look

Qucik Look 这个 Action 主要只用来直观的查看一些东西,比如,图片,文字,GIF,视频等,任何 Workflow 支持查看的文件。这里我们可以用这个 Action 来帮助排查问题。

这里我以 这条 Workflow 为例子,来分享下如何使用 Qucik Look 来排查问题。

首先要先确认这条 Workflow 的结构,它分为怎么几个步骤。

  1. 获取内容(注意 App Store 更新界面处,只能获取 App 的名字和作者,不能获取下载链接和商店内有所不同)。
  2. 把 App 名字和作者,拆分开来。
  3. 获取 App 名字的前五位字母。(这条 Workflow 只针对英文名字的 App,获取前 5 个字母是为了提高成功率)。
  4. 以作者为关键字,用 App Store 进行搜索,这样返回的都是这个开发商的 App 了。
  5. 进入循环,获取每个 App 的名字,与刚刚第 3 步获取的东西,进行匹配。
  6. 匹配成功时,获取当前循环的序号。
  7. 利用序号去获取目标的 JSON result。
  8. 获取更新内容。
  9. 翻译。

如何排查呢?那么首先,这里可以分成 2 个部分,1~8 为一个部分,9 为一个部分。即获取更新文本部分,和翻译部分。这个时候可以把 Qucik Look 放到 8 与 9 之间,首先判断是否有正确获取更新文本。

发现 Qucik Look 到的东西是空白的,意思就是上半部分有问题的可能性比较大(但这不代表翻译部分就没问题,一步一步来,从概率大的那方先入手)。1~8 步又可以分为两部分,1~3 为关键字处理,4~8 为访问 API ,这个时候再把 Qucik Look 放在 3 与 4 之间来查看。

如果发现 1~3 步有正确返回文字, 那么,我们再去查看。这里把 4~8 再分为两部分, 4~7 为获取循环序号部分,8 为获取 JSON result 部分。把 Qucik Look 放进去,如果这个你发现,4~7 这里根本没有获取到数字的话。那么你需要再去循环里面去查看。

像这样,采用「二分法」的方法,慢慢的细分下去,并使用 Qucik Look 去确认中途输出的数据是符合你的要求的,这样就可以比较快的找到问题。当然,你可以在每一步输入的地方都放置 Qucik Look ,只不过这样比较麻烦而已。

尾巴

这次主要分享的是一些制作 Workflow 时候的技巧,更多的用法,需要结合自己的实际需求去制作,希望这篇文章能对各位有所帮助。


Workflow 系列教程