美文网首页
用 Due 有「捷径」

用 Due 有「捷径」

作者: 爱拉锋 | 来源:发表于2018-10-29 15:34 被阅读0次

这是「流程和效率」系列之七

本文结构

  • 初步构想
  • 列出框架
    • ㊀ 从「捷径」App 或通知中心启动
    • ㊁ 从图文类 App 启动
    • ㊂ 从浏览器的共享表单启动
    • ㊃ 从地图类 App 的共享表单启动
    • ㊄ 从通讯录的共享表单启动
    • 总结
  • 测试输入的数据类型
  • 组装「捷径」
    • 第 ㊀ 段 保存读取到的数据
    • 第 ㊁ 段 分别处理不同类型的数据
    • 第 ㊂ 段 构建 Due 提醒的标题
    • 第 ㊃ 段 附加后续动作
    • 第 ㊄ 段 拼接内容,添加提醒
    • 补充说明

前文说到,Due 支持后续动作,可以插入电话号码、邮箱地址、网址(包括 URL Scheme)来节省很多后续操作。

但是,Due 并没有分享面板插件,除了电话号码,要插入其他几类后续动作,就得复制粘贴或者手动输入。

幸好 Due 自身支持用 URL Scheme 来调用,并得到了「捷径」(原 Workflow,见《初识 Workflow》)的内置支持。

Due 开发者文档:https://www.dueapp.com/developer.html

通过「捷径」添加 Due 提醒事项

「捷径」支持通知中心和共享表单(分享面板)插件,其中分享面板插件能传递文字、网址、电话号码、邮件地址等各种数据,借此我们不仅可以尽量省掉复制粘贴和手动输入的麻烦,还可以在各种界面随时快速添加提醒。

初步构想

在动手制作「捷径」之前,我们首先想一下,它应该如何方便我们:

  1. 能通过通知中心添加提醒;

  2. 从图文类 App(阅读器、文档编辑器等)启动时,能读取选中的文字,作为提醒的标题;

  3. 从浏览器(Safari、Chrome 等)的共享表单启动时,能读取选中的文字和页面网址,分别作为提醒的标题和后续动作;

    比如那是两个小时后开始秒杀的页面,就可以借助后续动作快速重新打开。

  4. 从地图类 App 的共享表单启动时,能读取位置链接,以便快速打开地图,开始导航。

  5. 从通讯录的共享表单启动时,能读取联系人电话号码、邮箱、主页和地址这 4 类信息。

列出框架

现在将上述 5 种情况的大概步骤列出来。

㊀ 从「捷径」App 或通知中心启动

  1. 读取剪贴板文字作为默认标题。
  2. 选择后续动作类型,分两种情况
    • 选择联系人(读取电话号码、邮箱地址、主页或地址);
    • 选择常用 App 的 URL Scheme。

㊁ 从图文类 App 启动

  1. 读取选中文字,若无则读取剪贴板文字,作为默认标题。
  2. 选择后续动作类型,分两种情况
    • 选择联系人(读取电话号码、邮箱地址、主页或地址);
    • 选择常用 App 的 URL Scheme。

㊂ 从浏览器的共享表单启动

  1. 读取选中文字,若无则读取剪贴板文字,作为默认标题。
  2. 读取网址(URL)作为后续动作。

㊃ 从地图类 App 的共享表单启动

  1. 读取剪贴板文字作为默认标题。
  2. 读取地址链接(URL)作为后续动作。

㊄ 从通讯录的共享表单启动

  1. 读取剪贴板文字作为默认标题。
  2. 后续动作分两种情况
    • 仅存有联系人一项信息时直接附加;
    • 存有联系人多项信息时弹出选单。

总结

  1. 要添加到 Due 提醒的内容分为两段,前一段是标题(可包括时间),后一段是用于后续操作的附加信息。

  2. 用变量 Info 存放「捷径」启动时读取到的数据,用变量 SelText 来存放选中文字,用变量 Due-action 来存放用于后续操作的附加信息。

    • 从图文类 App 启动时顶多只有选中文字,所以 SelText = Info
    • 从浏览器的共享表单启动时,SelText = 页面选中文字,Due-action = 页面 URL;
    • 从地图类 App、通讯录的共享表单启动时,Due-action = Info
  3. 处理标题段。

    上述五种情况不管哪一种,都应弹出对话框,要求用户输入提醒标题。在有选中文字的情况下多花费了一次点击,但同时也提供了修改的余地。

    • 在有 SelText 的时候,用 SelText 作为对话框默认文字;
    • 没有 SelText 的时候,用剪贴板文本作为对话框默认文字。
  4. 处理附加段。

    分三种情况:

    • 从「捷径」App、通知中心或图文类 App 启动时,附加信息为空,此时可以选择联系人信息或常用 App 的 URL Scheme。
    • 从浏览器、地图类 App 的共享表单启动时,获得单项附加信息(页面 URL、地图 URL)。
    • 从通讯录的共享表单启动时,需要判断联系人信息项数(包括电话号码、邮箱、主页、地址),若是多项则需从中选择单项。

测试输入的数据类型

上述五种情况,输入的数据类型有区别,所以我们先简单做一个测试「捷径」。

用测试「捷径」了解输入的数据

从图文类 App 启动,获得的类型是文本,这没什么疑问,所以我们只试着从浏览器、地图和通讯录启动测试「捷径」。

从 Safari 启动测试「捷径」

从 Safari 启动测试「捷径」,得到的类型是 Safari 浏览器网页。

从地图启动测试「捷径」

从自带的地图 App 启动测试「捷径」,得到的类型是文本、vCard 和 URL。在这个「捷径」里,我们只需要获得 URL 这一项。

从通讯录启动测试「捷径」

从通讯录启动测试「捷径」,得到的类型是 vCard。

组装「捷径」

修改测试「捷径」,或者新建一个,开始着手组装。

建议选择新建,保留测试「捷径」,以便遇到困惑、运行出错时继续用它测试。

设置「捷径」的名称和类型

设置「捷径」的名称、图标,打开在小组件、共享表单显示的选项,将接受的数据类型限定为 Safari 浏览器网页、URL、联系人和文本。

第 ㊀ 段 保存读取到的数据

第 ㊁ 段 分别处理不同类型的数据

文本:数据类型是文本时只能是选中文字,因此 SelText = Info

网页SelText = 页面选中文字,Due-action = 页面 URL。

URLDue-action = Info

联系人:上面说到,从地图类 App、通讯录的共享表单启动时都是 Due-action = Info,其实这只是说从联系人读取出来的信息都属于附加段。

从地图选择某个位置,通过共享表单发送到「捷径」的只是单个 URL,而联系人是一种复合数据,可能包括多个电话号码、多个邮箱、多个主页、多个地址,或者是这几种信息的组合。在测试「捷径」中用「显示内容图」查看联系人数据类型,可以看到,它还可能会包括文件(例如图像、PDF)。

因此在这里,我们不能直接使用 Due-action = Info 等式,必须依次读取联系人的电话号码、邮箱、主页和地址 4 种信息。

读取电话号码 读取邮箱和主页 读取地址

使用「添加到变量」不会覆盖先前保存在变量中的数据,而是给数据列表添加了新项。

第 ㊂ 段 构建 Due 提醒的标题

经过第 ㊁ 段处理,SelText 可能存放了选中文字,也可能是空白,依此判断是否调用剪贴板文字。

判断是否有选中文字

用「计数」统计 SelText 的项目数是否为 0。

将剪贴板文字存入 `SelText`

SelText 为空白时用剪贴板文字替代。

「要求输入」对话框

添加「要求输入」对话框,设置 SelText 为默认标题。在这里可以检查、修改或直接确认。

第 ㊃ 段 附加后续动作

在框架总结部分说到,附加段的处理分三种情况:Due-action 的项目数小于、等于或大于 1。

统计 `Due-action` 的项目数

等于 1 时不用特别处理,直接附加到标题后面。而大于或小于 1 时,都要使它等于 1 再附加。

先处理大于 1 的情况:弹出列表,从中选择一项。

小于 1(即等于 0)的情况比较复杂一些:

弹出后续动作类型菜单供选择。

  • 「联系人」菜单项

    弹出联系人选择界面,然后和前面「第 ㊁ 段」一样,依次读取电话号码、邮箱、主页和地址。

    如果所选的联系人中存放了多项信息,则再次弹出选择列表。

  • 「常用 URL Scheme」菜单项

    用「词典」预先设好一些 URL Scheme,在运行时弹出供选择。

  • 「无」菜单项

    如上图所示,什么都不用做,让 Due-action 空着就可以了。

第 ㊄ 段 拼接内容,添加提醒

至此,「捷径」组装完成。

补充说明

这个「捷径」比原 Workflow 系列介绍中所举的例子都要复杂。

  1. 如果不在组装前理清框架和思路,很容易导致大量重复,使「捷径」十分臃肿。合理设计流程,是精简「捷径」的关键。
  2. 表达能力有限,如果有些地方的逻辑关系看不明白,最好画结构图加以辅助。
  3. 在判断数据类型和项目数量时,「如果…否则」本应层层相套,但我选择将它们并列(判断条件不是并列关系时不能这么做),这样显得清晰一些,也容易修改。

最后,附上「捷径」的下载地址:

https://www.icloud.com/shortcuts/e70f44cbf97542dfafec893289e30479


题图来自 Unsplash,作者 rawpixel

相关文章

  • 用 Due 有「捷径」

    这是「流程和效率」系列之七 本文结构: 初步构想 列出框架㊀ 从「捷径」App 或通知中心启动㊁ 从图文类 App...

  • #英语笃学#When's it due?

    1 When's it due? (注意连读技巧。) It's due tomorrow. due adj. 到期...

  • due山due海

    今日段子 “qx我们3613作业什么时候due?” “唔我看看,应该还早着吧。” “千万不要是明天。” “要是明天...

  • 口语打卡第一天

    Due 1.When's it due? It's due tomorrow. 什么时候截止? 明天截止。 2.b...

  • 育儿捷径——用❤

    20170627清晨4:33,没有了困意,醒来看着儿子睡的挺实,我就想去洗澡,没想到刚下床儿子就醒了,当时我内心是...

  • 什么是捷径

    经常有人问,学英语有什么捷径?减肥有什么捷径?写作有什么捷径? 但是到底是什么捷径? 人们在谈论捷径的时候往往只想...

  • 有捷径

    如果有一个非常简单的方法,直接去到你想要成为的样子,直接去到你想要达到的状态,你会选择这个方法吗? 也许我们都会说...

  • when's it due

    01 when is it due? 02 he is due to arrive at 7:00. 03 our...

  • 捷径:捷径管理器

    安装了太多的捷径找起来很麻烦,用这个可以将捷径分类管理,方便查找使用,同时这个捷径里内置了捷径市场可以直接安装新捷...

  • 捷径大全第12期 | 更新9个精选捷径规则

    捷径App使用方法 1 先到AppStore搜索捷径安装 2 在本公众号找到想要的捷径,复制对应网址用自带Safa...

网友评论

      本文标题:用 Due 有「捷径」

      本文链接:https://www.haomeiwen.com/subject/csbbtqtx.html