提高工作效率的工具集(第一期)

消灭重复劳动

Dash

一个用于快速查询在线文档的工具, 支持离线文档,Google、Stack Overflow

软件截图:

https://s3.ax1x.com/2020/11/23/DJUqn1.png

UTool

一个系统级的底座插件,类似 Alfred, 但是它是免费
脚本使用 JavaScript,可以达到软件快开、插件使用、自动脚本等功能

一切皆插件

启动已安装的程序仅仅是最基础的功能,uTools 最大的特点就是拥有强大的插件系统,我们可以用插件来实现什么功能?

  • 自动创建 PM
  • 定时任务、自动统计今日工时,并生成 Excel 表格并发送邮件
  • 去除网站广告
  • 复制后,自动上传到云笔记、图床
  • 等等

支持特性

  • 视窗操作
  • 文件操作
  • 粘贴板操作
  • 可编程浏览器

可编程浏览器

亮点函数:

  • evaluate 在网页内执行回调
  • wait 延迟执行
  • click 点击元素
  • scroll 视窗滚动
  • simulateKeyboardTap 模拟键鼠操作
  • .db 本地数据库

场景举例

ex1: 打开 PM 系统,并自动统计今日任务,复制到粘贴板
1
2
3
4
5
// 打开"必应" 并搜索 "uTools"
utools.ubrowser.goto('https://cn.bing.com')
.value('#sb_form_q', 'uTools')
.click('#sb_form_go')
.run({ width: 1000, height: 600 })
ex2: 打开 PM 系统,并自动统计今日任务,复制到粘贴板
1
2
3
4
/**
ubrowser: 此对象封装了常见的 JavaScript DOM 操作,包括修改css、Dom、截图、生成 PDF、操作Cookie 等
*/
utools.ubrowser.goto('https://pm.nexttao.com/time_entries?query_id=1254&isCountTime=true')

软件截图:

DJdlxH.png

Tampermonkey

工作原理:

通过底座插件的形式安装到浏览器中,用户可以基于底座开发 JavaScript 脚本,从而控制浏览器执行对应的命令。

与 UTool 不同的是, Tampermonkey 专注于浏览器,理论上在浏览器端,TamperMonkey 是无所不能的。

支持的浏览器:

  • Chrome
  • Firefox
  • Safari
  • Edge
  • Opera

可以用来做什么?

  • PM 自动化
  • 各种网站限制破解
  • 屏蔽各种网站广告,类似 AdBlock 功能
  • 配合服务端,可以达到属于自己的剪影工具
  • 电商网站关注列表的价格波动
  • 去除知乎、豆瓣的二次重定向
  • 火车票自动抢票
ex1: 今日任务自动统计脚本
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
    function getReport () {
let num = 1;

let data = $('table.time-entries tbody tr').map((key, item) => {

const id = $(item).find('.issue .issue').text();
const subject = $(item).find('td.issue').text();
const comments = $(item).find('.comments').text();

return `${num++}. ${comments ? comments : subject} (100%)`
});

const text = [].slice.call(data).join(`
`)

if (text) {
copyTextToClipboard(text)
}
}
ex2: 一键创建 PM
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
// 此间数据都可以作为图形化界面配置存储
function addPm (title, time) {
$('#issue_tracker_id').val('2')
$('#issue_subject').val(title)

$('#issue_due_date').val('2020-11-27')

$('#issue_custom_field_values_18').val('2020-11-27')

$('#issue_estimated_hours').val(time)
$('#issue_assigned_to_id').val(292)

$('#issue_fixed_version_id').val('1133')
};

addPm('扫描结果(商品列表)', 4);

$('input[name=continue]').click()

AppleMator

介绍

类似手机上的捷径
Automator是Mac系统上的一个原生程序,图标是一个小机器人,你可以用它来创造一系列工作流(Workflow),用来执行一些简单或者复杂的任务,比如批量更改文件名,合并多个PDF文档,或者利用QuickTime转换视频的格式,等等。

软件截图

DJRsOK.png

使用场景

  • PDF 识别、转 Word (上面截图)
  • 键盘模拟、自动点击等
  • 定时任务,关机
  • 自动清理垃圾
  • 大文件检测
  • 等等

AppleScript

Mac 自己的脚本语言,已引入 JavaScript 支持

软件截图

DJW0Ag.png

截图脚本实现了:

  1. 读取待办事项
  2. 处理数据 -> 发送邮件

脚本亮点

  • 原生支持,和Mac 系统契合度高
  • OC 交互,可以调用 Objective-C 的函数和库
  • 与 AutoMator 结合

例子

ex: 读取当前激活的浏览器标签
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
const chrome = Application('Google Chrome');
const tabs = chrome.windows.tabs;
const snapshot = [];
for (const tabId in tabs) {
const title = tabs[tabId].title();
const url = tabs[tabId].url();
snapshot.push({ title, url });
}

ObjC.import('Foundation');

const fm = $.NSFileManager.defaultManager;
fm['createFileAtPath:contents:attributes:'](
'/tmp/snapshot.json',
JSON.stringify(snapshot, null, ' '),
$()
);