

作者:驿站、柚子
影刀中的【打开自定义对话框】指令,给我们提供了参数输入的功能,通过手动输入对话中的参数,即可将这些参数在之后的流程中进行使用。对话框提供了用户友好的交互方式,避免了直接修改流程中的变量,提高了流程的易用性。然而,当我们需要对应用定时执行,对话框的弹出则会阻塞整个流程,对后续其他定时任务的执行带来一定的不便。
目前已有的解决方法:可以通过设置超时时间,当流程等待超过该时间则使用默认值继续后边的流程。该方法存在的不足之处:当对话框所需输入参数较多时,超时时间的设置就会变成一个难题。超时时间设置过短,手动运行的过程中来不及输入完整;超时时间设置过长,定时触发时则会多出没必要的等待时间。那么,我们理想的对话框应该是怎样的?要如何去设置呢?
我们的对话框理想画像是如何的?
这两种情况有何不同?
运行方式的不同。那么,或许可以通过判断应用运行的方式来进行流程超时参数的设置?(当超时时间设置为0对话框在不点击确认按钮时不会关闭的)接下来的问题就是用什么来对运行方式进行判断?在此,我们会使用到【获取参数应用】该指令来实现。

使用【获取参数应用】指令,参数类型选择“来源名称”。当手动运行时,该变量为None,当触发器触发时,该变量值为触发器名称,如是从错误应用B触发,则该值为应用B名称。通过该指令来对应用运行方式进行判断即可。
获取应用参数:参数类型选择“来源名称”——超时时间初始化为0(即点击确定按钮才会关闭)——若来源名称不是为None值(非手动触发),自定义超时时间——将超时时间传递给对话框
通过判断运行方式来解决对话框阻塞流程的技巧。这样的技巧可以提高流程的灵活性和便利性,使其既适用于手动运行,又能够满足定时运行的需求。


最终效果:
