utools 插件开发 --MAC dns 快速切换

本贴最后更新于 1604 天前,其中的信息可能已经时过境迁

开发文档:https://u.tools/docs/developer/welcome.html#plugin-json

开发初衷

utools 原有的一个插件 DNS 切换,在 mac 下有网线的那个网络设备,切换 DNS 失败。猜测作者截取网络设备时,字段截取有问题,只获取到了 LAN,而没有获取到完整信息 USB 10/100/1000 LAN,导致设置 dns 的时候失败

开发准备

首先建立一个空的文件夹 utools_test,目录结构如下:

image.png

README.md

主要是显示插件的介绍和使用说明

index.html

插件的入口文件

plugin.json

这是最重要的一个文件,用来说明这个插件将如何与 uTools 集成,最基本的格式如下:

{
	"pluginName": "helloWorld",
	"description": "我的第一个uTools插件",
	"main": "index.html",
	"version": "0.0.1",
	"features": [
		{
		  "code": "hello",
		  "explain": "hello world",
			"cmds":["hello", "你好"]
		}
	]
}

字段说明

pluginNam : 插件名称,它会在 uTools 的很多地方出现

description : 插件描述,简洁的说明这个插件的作用

main : 入口文件,如果没有定义入口文件,此插件将变成一个模版插件

version : 插件的版本,需要符合 Semver(语义化版本) 规范。一般情况下形如:主.次.修订 即可

features : 唯一比较复杂的就是 features 了,首先它是一个数组,每个数组元素用来描述这个插件提供的一个相对独立的功能,例如 uTools 中的「编码小助手」插件,提供了 md5时间戳随机数 等功能。

features. : 插件某个功能的识别码,在进入插件时会传递给你的代码,可用于区分不同的功能,显示不同的 UI

features.cmds : 通过哪些方式可以进入这个功能,中文会自动添加 拼音拼音首字母

preload.js

在传统的 web 开发中,所有的 javascript 脚本都在浏览器沙盒中运行,权限被严格限制,所能实现的功能非常有限。

通过 preload.js 能够帮你突破沙盒限制,进入一个崭新的 JavaScript 世界。

preload.js 是一个特殊且单独的文件,不需要与其他业务代码编译在一起,在此文件中可以访问 nodejselectronuTools 提供的 api,并挂载到 window 对象中,你其他的普通 javascript 代码就可以访问这些 api。

成果演示

image.png

image.png

方便快捷,是真的好用,还有其他各种插件,很是好用。

下一个计划--微信读书插件

基于微信读书网页版嵌入到 utools 插件中

  • uTools

    uTools 是一个极简、插件化、跨平台的现代桌面软件。通过自由选配丰富的插件,打造你得心应手的工具集合。

    6 引用 • 14 回帖 • 1 关注
  • 插件
    97 引用 • 540 回帖 • 3 关注

相关帖子

欢迎来到这里!

我们正在构建一个小众社区,大家在这里相互信任,以平等 • 自由 • 奔放的价值观进行分享交流。最终,希望大家能够找到与自己志同道合的伙伴,共同成长。

注册 关于
请输入回帖内容 ...