基于alfred的workflow开发(二)

上一篇,主要介绍了如何通过热键打开某个应用,设置默认输入项及对已有的workflow进行管理和筛选。今天开始研究下,alfred是如何接收参数,并通过一个例子来学习下,ListFilter怎么工作的

Alfred参数接收及变量设置

创建变量和参数工具

alfred的工作面板,使用变量和参数工具可以接收用户输入的参数信息,创建方式如下图,右键->换出菜单栏之后->Utilities->Arg and Vars


变量和参数

点击Arg and Vars之后,就创建好了参数变量工具,在Argument里面会默认有一个{query}的值,这个query就是我们接收到的用户输入的值,在Variables里面,我添加了两个选项,一个是name,值是{query}, 这个的话,使用{name}也可以获取到用户输入的值。这里有人可能会有疑问,那name和query的值都是一样的,为什么要这么写呢?其实这么做的好处有3个,

  • 值在后续的流程传递时,更加的可读。更好的理解
  • 将值保存下来,方便后面使用
  • 动态修改这个值

此外我还另外添加了一个username ,值是chengyan。这就是允许我们添加一些常量。


设置变量

研究一下官方给的一个Demo:Simple To-Do List

在workflow偏好设置页,点击左下角的加号,然后选择examples->Simple To-Do List,创建好之后,大概是下面这个样子


image

简单介绍下这个workflow的功能,输入todo+任务名称,进入下一个工作流,你可以选择生活、工作、等待完成 3个选项,选择其中某一个之后,就会将你刚才输入的任务添加到相应的任务列表里面,工作流会使用filepath这个环境变量,拼接3个选项对应的名称,创建出一个.txt的文件,将你输入的任务添加到这个文件里面。后续的话,可以使用vtodo关键字,选择不同的分类名称,打开相应的文件夹。

todo keyword

关键字组件,一般作为workflow的输入源,可以设置alfred识别的关键字,在当前的例子里面,使用的是todo 关键字

Arg/Var

变量和参数组件,这个组件用来设置变量,当前例子中,将{query}设置为task变量

List Filter

列表过滤组件,目前是一个静态的过滤组件,添加了Home、Work、WatingFor3个下拉选项,用来将之前输入的{task}进行分类,选择不同的下拉选项之后,就会将任务添加到对应的文件中

Arg/Var

将上一步输入来的{query}作为filename,来继续传递

Filter

过滤器,这个相应于if,else的功能,进行判断,工作流该往哪走,在当前这个workflow里面,根据判断第一步是否输入了任务,来决定。当任务有值的时候,做写入操作,当任务没有值的时候,执行打开文件的操作

文件写入和文件打开

writeFile 在output的工具选项中,允许我们在特定的路径下写入内容。openfile 在actions,可以打开一个特定的文件或者文件夹

设置环境变量

在workflow的工作面板,点击[x],可以设置当前workflow的环境变量,在Simple
To-Do List中,设置了path,用来拼接文件的路径。


image

这就是今天研究了的关于环境变量、常规变量、参数的设置和使用,此外还了解了ListFilter的使用方式

你可能感兴趣的:(基于alfred的workflow开发(二))