用nodejs写一个alfred workflow
前言:工作中很多时候都要讲究效率,把一些繁琐重复的事精简化。能使你的工作都事半功倍~
我用的环境
node v10.19.0
,npm 6.13.4
,alfred 4.0.9
如果你还不了解alfred, 点此进入
废话不多说, 就用nodejs做个alfred的workflow工具, 功能需求:
- 获取局域网的IP地址
- 获取公网的IP地址
- 输入IP地址查询归属地
因为我本人是从事前端开发的,nodejs对我来说并不陌生,所以今天就讲讲ndoejs开发workflow插件
制作初衷:我做的移动端项目很多,常常需要手机与电脑连接一个局域网下进行调试,每次都要查询一下自己的网卡IP。很容易就把自己给累死(哈哈)
先上效果图
-
直接输入ip
-
直接输入ipp
-
输入ip + IP地址
搞起来
开始前需要了解一下alfy
-
打开alfred的
Preferences
,找到WorkFlows
,选择列表底部的+
号,选择Blank Workflow
-
填写插件名字,描述,分类及版本信息,作者,网站。图标找个喜欢的拖拽到右侧方框里就行了
Bundle Id
必须填写
-
空白区域点击右键,选择
Inputs
=>Script Filter
,会弹出一个框
-
如下填写, 填写之后点击
save
-
点击列表中,新建的
workFlow
选择open in Finder
-
用自己顺手的编辑器(我用的vscode)打开项目文件夹,并调出终端,在当前文件夹执行
npm init -y
运行完之后需要安装一下依赖
npm i afly ip --save
-
根目录新建
index.js
const alfy = require("alfy"); const ip = require("ip"); const localNetWork = ip.address(); alfy.output([ { title: "局域网地址:" + localNetWork, subtitle: "Press ⌘L to see the full error and ⌘C to copy it.", arg: localNetWork } ]);
终端运行一下
node index.js
,查看输出是否正常,如下正常输出就over
-
调出
alfred
出入框窗口,输入ip, 显示如下就成功了
-
回车将结果放到剪切板(回到
workflow
页面, 右键弹出菜单,选中,点击后会弹出窗口,直接点击save
保存即可~)
到这里基本流程已经结束,剩下的还需同志们继续努力💪
需要剩余功能的同学请在结尾处下载使用,需要申请一个
ak
参数,请自行填写