组合动作高级话题

为动作传递参数

就像使用windows命令行命令一样,现在你也可以为Quicker动作传递参数。

注:从1.4.8版本中开始提供。


动作参数通常可以使用在下面的场景下:

  • 为动作传递要处理的数据
  • 指示动作执行某项操作(在动作根据参数判断要执行的操作类型)



如何给动作传入参数


外部调用

使用命令行等方式从Quicker外部调用动作(参考:https://www.yuque.com/quicker/help/quicker-starter):


quicker:runaction:动作名称或ID或动作库ID 参数内容(参数前使用空格,可以有空格不能有换行)

quicker:runaction:动作名称或ID或动作库ID?参数内容(参数前使用问号,可以有空格不能有换行)


注意:使用动作名称调用时,动作名称不能有重复,名称中间不能有空格。



使用“运行其他动作”

在动作中调用其他动作时,可以传递参数:https://www.yuque.com/quicker/help/runaction


image.png



在扩展热键/文本指令/轮盘菜单中传入参数

image.png

使用正则匹配的文本指令,会将匹配到的内容作为参数传递给动作。


使用自定义右键菜单传入参数

自定义右键菜单的实现原理是:运行动作并传入指定的参数。在动作中判断参数的值,从而执行对应的操作(如进入动作参数设置界面等)。

请参考:https://www.yuque.com/quicker/help/action-custom-context-menu

image.png



读取传入的参数

在被调用的动作中可以通过2种方式读取从传入的参数。


方式1:通过quicker_in_param变量读取

image.png


方式2:在“获取选中文本”模块中开启选项“如果为动作传递了参数,使用参数值作为获取的结果”

这种方式可以让动作同时兼容两种使用场景:

  • 处理选中的文本内容(此时动作参数为空,动作取读取选中的内容)
  • 处理其他调用传递的数据,如在文本指令中通过正则表达式匹配到的数据(此时动作参数不为空,直接将动作参数作当作选中的文本进行处理)

image.png




输出内容

被调用的动作如果需要返回结果,可以使用“停止动作/结束子程序”模块的“返回值”参数。

image.png

语雀在语雀上查看