垃圾分类查询 - Alfred Workflow

1,080 阅读1分钟

前两天在工位上吃完玉米,想查一下垃圾分类,发现电脑上没有很好的查询工具,而坐在电脑前再去打开手机查询是一件非常繁琐的事情,于是就顺手写了个 Alfred Workflow。

不知道 Alfred 的看一下池大的文章: 神兵利器——Alfred

下载地址: liubiantao/alfred-workflow-what-rubbish: 上海垃圾分类查询

demo

开发流程

先搭建基本工作流,详细步骤参考:如何去写一个第三方的 workflow

以下是我搭建的工作流截图:

image-20190728215152297

双击其中一个 Script Filter

image-20190728215307282

./node_modules/.bin/run-node index.js "$1"

这个脚本会运行我们自己写的脚本index.js, 这里的$1就是从 lj 玉米衣 获取到的关键词玉米衣

const alfy = require('alfy')

const keyword = encodeURIComponent(alfy.input)

const data = await alfy.fetch(
  `https://sffc.sh-service.com/wx_miniprogram/sites/feiguan/trashTypes_2/Handler/Handler.ashx?a=GET_KEYWORDS&kw=${keyword}`
)

const getItems = () => {
  if (data.kw_arr) {
    return data.kw_arr.map(element => ({
      title: element.Name,
      subtitle: element.TypeKey,
      arg: element.Name,
      icon: {
        path: `${element.TypeKey}.png`
      }
    }))
  } else {
    return [
      {
        title: `未找到${alfy.input}的分类`,
        subtitle: '回车问问搜索引擎吧',
        arg: alfy.input
      }
    ]
  }
}

alfy.output(getItems())

代码很简单,先引入这个库 alfy,可以极大的简化 aflred 开发。

alfy.input 就是刚才的关键词 $1

alfy.fetch 获取接口内容,这里特别鸣谢我的朋友波波,接口地址是我从他的Flutter App 垃圾分类助手 - 掘金里抄来的。

最后的输出格式,参考官网:Script Filter JSON Format - Workflow Input Objects - Alfred Help and Support

效果如图:

题图

image-20190729002459165

双击Open URL, 搜索可以换成自己喜欢的搜索引擎,天地良心,我平时真不用百度,不过 google 和 bing 在搜索 lj 方面真的比不过百度。

image-20190728215502226

最后从 www.iconfont.cn 上找一个 icon,就可以发布了。

image-20190729001732211

PS: 现在写个技术文章真难,文字和图片一不小心就被识别为敏感。