# 插件API手册

# onPluginReady

插件应用初始化完成时触发

focusany.onPluginReady((data) => {
    // data.actionName 动作名称
    // data.actionMatch 动作
    // data.actionMatchFiles 匹配到的文件
    // data.requestId 请求ID
    // data.reenter 是否重新进入,对于 singleton 的插件,当再次调用时为 true
    // data.isFastPanel 是否是快捷面板
});
1
2
3
4
5
6
7
8

# onPluginExit

插件应用退出时触发

focusany.onPluginExit(() => {
    
});
1
2
3

# onPluginEvent

插件事件触发

focusany.onPluginEvent('xxxx', (data) => {
})
1
2

# isMainWindowShown

插件主窗口是否显示

# hideMainWindow

隐藏插件主窗口

# showMainWindow

显示插件主窗口

# isFastPanelWindowShown

快捷面板窗口是否显示

# showFastPanelWindow

显示快捷面板窗口

# hideFastPanelWindow

隐藏快捷面板窗口

# setExpendHeight

设置插件的高度

focusany.setExpendHeight(300);
1

# setSubInput

设置输入框监听

focusany.setSubInput((keywords) => {
    console.log(keywords);
}, '请输入关键字', true, true);
1
2
3

# removeSubInput

移除输入框监听

# setSubInputValue

获取子输入框的值

focusany.setSubInputValue('value');
1

# subInputBlur

子输入框失去焦点

# getPluginRoot

获取插件根目录

# getPluginConfig

获取插件配置文件 config.json

# getPluginInfo

获取插件信息

# getPluginEnv

获取插件环境

# getQuery

获取插件查询信息

focusany.getQuery(requestId);
1

# createBrowserWindow

创建窗口

# outPlugin

关闭插件

# isDarkColors

是否是暗色主题

# setAction

设置插件动作

focusany.setAction({
    name: 'actionName',
    title: '动作名称',
    icon: 'icon',
})
1
2
3
4
5

# removeAction

移除插件动作

focusany.removeAction('actionName');
1

# getActions

获取插件动作

# redirect

打开插件动作

focusany.redirect('actionName'}
1

# showToast

显示提示

focusany.showToast('提示内容', { duration: 3000, status: 'info' });
1

# showNotification

显示通知

focusany.showNotification('通知内容');
1

# showMessageBox

显示消息框

focusany.showMessageBox('消息内容', { title: '消息标题', yes: '确定', no: '取消' });
1

# showOpenDialog

打开文件选择框

# showSaveDialog

打开文件保存框

# screenCapture

截图

focusany.screenCapture((imgBase64) => {
    console.log(imgBase64);
});
1
2
3

# getNativeId

获取设备ID

# getAppVersion

获取软件版本

# getPath

获取路径

focusany.getPath('home');
1

# getFileIcon

获取文件图标

focusany.getFileIcon('path');
1

# copyFile

复制文件到剪贴板

focusany.copyFile('file');
1

# copyImage

复制图片到剪贴板

focusany.copyImage('image');
1

# copyText

复制文本到剪贴板

focusany.copyText('text');
1

# getClipboardText

获取剪贴板文本

# getClipboardImage

获取剪贴板图片

# getClipboardFiles

获取剪贴板文件

# shellOpenPath

打开路径

focusany.shellOpenPath('fullPath');
1

# shellShowItemInFolder

显示文件夹

focusany.shellShowItemInFolder('fullPath');
1

# shellOpenExternal

打开链接

# shellBeep

播放声音

# simulateKeyboardTap

模拟键盘按键

focusany.simulateKeyboardTap('key', ['ctrl', 'shift']);
1

# getCursorScreenPoint

获取鼠标位置

# getDisplayNearestPoint

获取显示器

# isMacOs

是否是MacOS

# isWindows

是否是Windows

# isLinux

是否是Linux

# getPlatformArch

获取平台架构

# sendBackendEvent

发送后端事件

focusany.sendBackendEvent('event', { data }, { timeout: 3000 });
1

# db

数据库操作

# db.put

添加文档

focusany.db.put(doc);
1

# db.get

获取文档

focusany.db.get(id);
1

# db.remove

删除文档

focusany.db.remove(doc);
1

# db.bulkDocs

批量添加文档

focusany.db.bulkDocs(docs);
1

# db.allDocs

批量获取文档

focusany.db.allDocs(key);
1

# db.postAttachment

保存附件

focusany.db.postAttachment(docId, attachment, type);
1

# db.getAttachment

获取附件

focusany.db.getAttachment(docId);
1

# db.getAttachmentType

获取附件类型

focusany.db.getAttachmentType(docId);
1

# dbStorage

本地存储

# dbStorage.setItem

设置存储

focusany.dbStorage.setItem(key, value);
1

# dbStorage.getItem

获取存储

focusany.dbStorage.getItem(key);
1

# dbStorage.removeItem

移除存储

focusany.dbStorage.removeItem(key);
1

# fastPanel

快捷面板

# fastPanel.setHeight

设置快捷面板当前插件渲染区域的高度

focusany.fastPanel.setHeight(300);
1

# fastPanel.getHeight

获取快捷面板当前插件渲染区域的高度

focusany.fastPanel.getHeight();
1

# detach

分离窗口

# detach.setTitle

设置分离窗口的标题

focusany.detach.setTitle('标题');
1

# detach.setPosition

设置分离窗口的位置

focusany.detach.setPosition('center');
1

# detach.setAlwaysOnTop

设置分离窗口是否置顶

focusany.detach.setAlwaysOnTop(true);
1

# detach.setSize

设置分离窗口的大小

focusany.detach.setSize(800, 600);
1

# util

工具

# util.randomString

生成随机字符串

focusany.util.randomString(10);
1

# util.bufferToBase64

Buffer 转 Base64

focusany.util.bufferToBase64(buffer);
1

# util.datetimeString

获取当前时间戳字符串

focusany.util.datetimeString();
1

# util.base64Encode

数据转 Base64

focusany.util.base64Encode(data);
1

# util.base64Decode

Base64 转数据

focusany.util.base64Decode(data);
1

# util.md5

MD5 摘要

focusany.util.md5(data);
1

# util.save

保存文件

focusany.util.save('filename', 'data', { isBase64: true });
1
Last Updated: 17 days ago