电脑(基于Python)版本: /p/d006b320

大家好又是我我又来了 三十年专业查快递

迭代

少数派之前选了一篇同为查快递 Workflow 的文章到 Matrix 精选,甚至后来还选到了少数派大主页,恭喜原作者。不过我当时在他原帖下写了一个挺长的评论,主要是他这个方法的不稳定性,无法做到长期运行,客观地讲如果和 API 处理相比,除了你需要有条件申请 API(现在已经简单的到只需要一个手机号了)的能力,或者 API 本身功能不全,其他方面分析源代码始终是不会优于 API 的。

上述详见/p/d2e62c60

而这也引起了我第一个思考,用上一版本的同学应该知道第一个 API 已经超过了 1000 次免费使用次数,所以我已经更换了新的API并发布了新版,但是很有可能有用户发现用不了后就以为是程序问题从而放弃,为什么不做一个自动更新系统呢?

自动更新

现在程序支持自动更新,可以方便的为你带来新版本功能,bug 修复等。由于中国移动(数据/宽带)单方面屏蔽 GitHub Pages,请中国移动用户手动禁用该功能,方法如图所示。
IMG_2565.JPG第一个改为0即可(正数就会检查更新)

当有新版本时,你会收到如下提示:

IMG_2076.PNG

*2016.10.30更新 感谢各位在一个多月来使用此Workflow 目前该Workflow已经不会再更新 此功能已经被移除 同时查询速度会变快不少。

主程序

计算

而到了主程序部分,则是有不少人告诉我并不只想看到两条信息,因此此版本中重写了读取代码,现在你可以设置你希望看到的条数。

IMG_2034.PNG

由于 Workflow 会因为数组超范围报错,你输入的数字只会作为其中一个决定因素。如只更新了 4 条,你输入 5,也只会显示 4 条,逻辑很容易理解。

IMG_2036.PNG

由于 Workflow 有时出现 Widget 高度错误和有时显示不全,建议此数字不要大于 5。

便捷性

接下来是添加方式的更新,以往你需要用配套 Workflow 添加,并且你需要创建一个叫做 Packages 的列表,而现在这些都成为历史了。

IMG_2073.PNG

在 任何提醒 事项列表,以 快递单号 开头并输入单号即可,无需任何其他信息,如果你需要备注,在后面加上 备注 两字后写备注即可。

IMG_2035.PNG

无备注则会显示项数,较短的备注则会直接写出,而较长的会自动提行,如上下两图所示。IMG_2037.PNG

如此简单的添加方式,你甚至可以用Siri来完成,下面这张图片是我随口说的,一次成功,未经任何更改。IMG_2074.PNG

程序部分,核心处理减少了许多不必要的过程,大幅提升了运行效率。IMG_2039.PNG

使用到了Workflow新版本中的Get Items in Range来实现多条获取功能,替代了以前分别获取第一条,第二条再分别处理的既傻瓜,又低效的方法。

整个速度非常惊艳,我可以说达到了极限,他比你见过的任何Workflow查快递都要美观,同时完全不比其他Workflow慢。查一条的速度仅需1.5秒,条数越多平均时间越短。

其他小修小补

  • 日期显示现在变得更短更美观
  • 顺丰输出判定完善
  • 所有变量名现在已改成英语
  • 循环套用效率提升
  • ....

现在同样支持的功能

  • 20161001以后的版本支持显示快递公司名字

IMG_2482.PNG

  • 自动判断当前状态,比如签收时会自动提示是否删除
  • 算出到现在的,或者对于已经签收的快递从最开始到签收时用的时间
  • 顺丰单特别功能:
  1. 支持显示 “顺丰次日”“顺丰隔日”等时效产品名称
  2. 支持显示官方给出的预计到达时间(一般到达会比这个时间早很多)
  3. 支持显示发件地和收件地(可参照上图"星巴克预付费礼品卡"单)

上述数据来自顺丰官网,除非官网 API 错误,一般顺丰单发出并更新一条以上之后基本都会有此类信息显示。

*2016.11.10更新 顺丰在11月前后将此部分 API 做了验证码鉴定限制 你可以看到顺丰官网查询单号现已需要输入验证码 故本功能不再提供 对于老版本 可能会出现顺丰单仍然请求 API 导致运行速度变慢问题 无解 如有需要请更新下文最新版本 20161110

总结

有很多人告诉我,做一个这样的Workflow,不仅十分复杂,而且速度也并不比去专门下载一个App来查快递快。我觉得这说的没有错,而 iOS作为一个相对较封闭的平台,如果有一个App能够很开放的做各种各样的事情,甚至可以接近代替专业做一门的App,那这个App肯定是十分优秀的。

Workflow像是iOS的一个小编程工具,从基础到简单,根据你自己的需求和能力,能够做出太多的东西。甚至在最近更新的 Workflow 1.5.3 中支持了 API的POST和PUT请求,它的可用性和扩展性再次得到增加…… 制作这个Workflow不仅直接替代了我本人所有查快递的工具,同时还锻炼了我的能力,对于我和大家都是一种提升。

灵感来源于2015的年底,通过到现在的4次更新的不断完善,它变得越来越好,越来越实用,越来越受大家欢迎。它其实还是我加入Matrix的原因,我对以上种种感到感激不尽。

详细请点击我的历史文章了解。

下载

请注意!如果你前面一个字都没看,请至少回去把使用方法看清楚,这个 Workflow 不是通过剪切板查快递的!微博已经收到无数人问点开没有反映了,这不是你没加一提醒事项就是格式有误。

http://junyilou.github.io/kuaidi20171105.wflow

剪切板版本已经于 2017.1.5 完工,并发至少数派官网,详情了解 https://sspai.com/36871