插件说明

猿如意 效率工具模块基于开源项目rubick设计,分为 ui插件系统插件 2类。下面分别介绍这 2 类插件的区别和作用。

  1. ui 插件:都会有 ui 界面,用于和用户交互,且需要通过关键词搜索选择进行使用,比如 hosts切换 插件,有界面展示,且需要在搜索框内搜索关键词选择后进行打开才能使用。
  2. 系统插件:可能不会有 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("hello world!")
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("userinfo")
dbstorage.setitem 设置本地存储 window.rubick.dbstorage.setitem("userinfo", { name: "猿如意" })
dbstorage.removeitem 删除本地存储 window.rubick.dbstorage.removeitem("userinfo")
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)

测试写好的插件

  1. 打开 “猿如意” 客户端。进入“我的下载”
  2. 点击左侧菜单 “创作中心”,然后进去 “效率工具”。
  3. 把插件的package.json拖入虚线框内后,点击安装,进入我的下载点击运行即可;
  4. 如需修改代码,无需删除重新安装,退出插件后再次点击运行即可看到更新

提交插件到猿如意

仓库地址:

公共资源

jquery:
vue:
tailwind.css:

logo

猿如意是一款面向开发者的辅助开发工具箱,包含了效率工具、开发工具下载,文档教程,代码片段搜索,全网搜索等功能模块。帮助开发者提升开发效率,帮你从“问题”找到“答案”。

更多推荐