猿如意效率工具开发文档
·
插件说明
猿如意
效率工具模块基于开源项目rubick
设计,分为 ui插件
和系统插件
2类。下面分别介绍这 2 类插件的区别和作用。
- ui 插件:都会有 ui 界面,用于和用户交互,且需要通过关键词搜索选择进行使用,比如 hosts切换 插件,有界面展示,且需要在搜索框内搜索关键词选择后进行打开才能使用。
- 系统插件:可能不会有 ui 界面,在
猿如意
启动的时候,会注册执行系统插件。比如超级面板
插件,安装完成后,即可在猿如意
运行时随时使用,不需要任何关键词和匹配。
开发 ui 插件
一个最基础插件的目录是这样的:
rubick-plugin-demo
|-- index.html
|-- package.json
|-- preload.js
文件说明
package.json
用于指定插件最基础的配置,一个最基础的配置信息如下:
{
"name": "rubick-ui-plugin-demo",
"pluginname": "插件demo",
"description": "rubick ui 插件demo",
"author": "muwoo",
"main": "index.html",
"logo": "https://www.img/demo.png",
"version": "0.0.1",
"preload":"preload.js",
"plugintype": "ui"
}
核心字段说明:
- name: 插件名称标识,必须同文件夹名称一致
- pluginname: 插件显示名称,用于展示给使用者
- description: 插件描述,描述这个插件的作用
- author: 插件作者
- main: 入口文件,一般为
index.html
- logo: 尺寸建议 200 * 200, 插件的 logo
- version: 插件的版本
- preload: 预加载脚本
- plugintype: 插件类型,枚举:ui, system. 当前选 ui
index.html
插件的入口文件,用于展示插件的样式,一个最基础的 html
结构可以是这样:
<!doctype html>
<html>
<body>
hello 猿如意
<button id="shownotification">通知</button>
</body>
<script>
document.getelementbyid('shownotification').addeventlistener('click', () => {
window.shownotification();
})
</script>
</html>
preload.js
细心的同学可能已经注意到上面的 index.html
使用了一个全局函数 shownotification
那么这个函数是在哪里定义的呢?
答案就是在 preload.js
里面。preload.js
可以为页面提供全局函数
window.shownotification = function () {
window.rubick.shownotification('hi, 猿如意')
}
api列表
事件
api | 说明 |
---|---|
onpluginenter | 进入插件 |
onpluginready | 插件初始化 |
onpluginout | 退出插件 |
onshow | 客户端唤起 |
方法
api | 说明 | 示例 |
---|---|---|
opendevtool | 打开开发者工具 | window.rubick.opendevtool() |
showmainwindow | 显示主窗口 | window.rubick.showmainwindow() |
hidemainwindow | 隐藏主窗口 | 单元格 |
minimizemainwindow | 最小化主窗口 | 单元格 |
setmainopacity | 设置主窗口透明度 | window.rubick.setmainopacity(0.8) |
shownotification | 发送桌面通知 | window.rubick.shownotification(&quot;hello world!&quot;) |
isfullscreen | 返回窗口全屏状态 | window.rubick.isfullscreen() |
setmainwindowfullscreen | 设置窗口全屏状态 | window.rubick.setmainwindowfullscreen(true) |
login | 打开登录 | window.login() |
setexpendheight | 设置窗口高度 | window.rubick.setexpendheight(900) |
setsubinput | 设置顶部输入框状态 | window.rubick.setsubinput(onchange, placeholder, isfocus) |
setsubinputvalue | 设置顶部输入框内容 | window.rubick.setsubinputvalue('输入关键字搜索') |
removesubinput | 清楚顶部输入框内容 | window.rubick.removesubinput() |
dbstorage.getitem | 获取本地存储 | window.rubick.dbstorage.getitem(&quot;userinfo&quot;) |
dbstorage.setitem | 设置本地存储 | window.rubick.dbstorage.setitem(&quot;userinfo&quot;, { name: &quot;猿如意&quot; }) |
dbstorage.removeitem | 删除本地存储 | window.rubick.dbstorage.removeitem(&quot;userinfo&quot;) |
shellopenexternal | 使用默认浏览器打开 | window.rubick.shellopenexternal(url) |
ismacos | 是否为macos | window.rubick.ismacos |
iswindows | 是否为windows | window.rubick.iswindows |
islinux | 是否为linux | window.rubick.islinux |
shellshowiteminfolder | 在文件夹中打开 | window.rubick.shellshowiteminfolder(path) |
测试写好的插件
- 打开 “猿如意” 客户端。进入“我的下载”
- 点击左侧菜单 “创作中心”,然后进去 “效率工具”。
- 把插件的package.json拖入虚线框内后,点击安装,进入我的下载点击运行即可;
- 如需修改代码,无需删除重新安装,退出插件后再次点击运行即可看到更新
提交插件到猿如意
仓库地址:
公共资源
jquery:
vue:
tailwind.css:
更多推荐
已为社区贡献11条内容
所有评论(0)