Plugin API
简体中文
简体中文
  • 入門
    • 简介
    • 你的第一个插件
    • 文件结构概述
    • 插件类型
      • 窗口
      • 背景服務
      • 格式扩展
      • 检查器
    • 调试插件
    • 开发交流群
  • 部署
    • 准备插件
    • 打包插件
    • 发布插件
    • 更新插件
    • 开发者政策
    • 插件图标模板
  • 开发指南
    • manifest.json 完整配置
    • 取得数据
    • 修改数据
    • 存取本地文件
    • 发出网路请求
    • 使用 Node.js 原生 API
    • 使用第三方模快
    • 多国语言(i18n)
    • 无边框窗口
  • API 参考
    • event(事件)
    • item(项目)
    • folder(文件夾)
    • tag(标签)
    • tagGroup(标签群组)
    • library(资源库)
    • window(窗口)
    • app(应用)
    • os(操作系统)
    • screen(屏幕)
    • notification(通知)
    • contextMenu(右鍵菜單)
    • dialog(对话框)
    • clipboard(剪贴板)
    • drag(拖拽文件)
    • shell(壳)
    • log(日志)
  • 额外组件
    • FFmpeg
由 GitBook 提供支持
在本页
  • 方法
  • create(options)
  • createSubfolder(parentId, options)
  • get(options)
  • getAll()
  • getById(folderId)
  • getByIds(folderIds)
  • getSelected()
  • getRecents()
  • open(folderId)
  • 類:Folder
  • save()
  • open()
  • id string
  • name string
  • description string
  • icon string
  • iconColor string
  • createdAt Interger
  • children Folder[]
  1. API 参考

folder(文件夾)

透过 eagle.folder API 可以方便的建立新的文件夹或者存取当前应用中的文件夹,。

// 取得 Eagle 应用当前被选中的文件夹
let folder = (await eagle.folder.getSelected())[0];

// 修改属性
folder.name = 'New Folder Name';
folder.description = 'New description...';

// 保存修改
await folder.save();

🦄 最佳实践: 为了确保数据安全性,请使用 API 提供的 save() 方法进行数据的存取与修改,应避免直接修改 Eagle 资源库底下的 metadata.json 或任意文件。

方法

create(options)

建立文件夾

  • options Object

    • name string - 文件夾名

    • description string (可选) - 文件夾描述

    • parent string (可选) - 父文件夹 ID,带此参数等同 createSubfolder(parentId, options)

  • 返回 Promise<folder: Folder> - folder 成功创建的文件夹

let newFoler = await eagle.folder.create({
    name: 'New Folder',
    description: 'Folder\'s description.',
});

createSubfolder(parentId, options)

建立子文件夾

  • parentId string - 父文件夹 ID

  • options Object

    • name string - 文件夾名

    • description string (可选) - 文件夾描述

  • 返回 Promise<folder: Folder> - folder 成功创建的文件夹

let parentFolder = await eagle.folder.getById('folder_id');
let subFolder = await eagle.folder.createSubfolder(parentFolder.id, {
    name: 'Subfolder',
    description: 'Subfolder description.',
});

get(options)

获取指定条件的文件夹。

  • options Object - 查询条件

    • id string (可选) - 文件夾 id

    • ids string[] (可选) - 文件夾 id 数组

    • isSelected boolean (可选) - 正在被选中的文件夹

    • isRecent boolean (可选) - 近期存取的文件夹

  • 返回 Promise<folders: Folder[]> - folders 查询结果

// 取得指定 id 对应的文件夹
let folders = await eagle.folder.get({
    ids: ['folder_id1', 'folder_id2']
});

// 取得应用当前被选中的文件夹
let folders = await eagle.folder.get({
    isSelected: true
});

getAll()

获取所有文件夹。

  • 返回 Promise<folders: Folder[]> - folders 查询结果

let folders = await eagle.folder.getAll();

getById(folderId)

获取对应 folderId 的文件夹。

  • folderId string - 文件夾 id

  • 返回 Promise<folder: Folder> - folder 查询结果

let folder = await eagle.folder.getById('folder_id');

getByIds(folderIds)

获取对应 folderIds 的文件夹数组。

  • folderIds string[] - 文件夾 id 数组

  • 返回 Promise<folders: Folder[]> - folders 查询结果

let folders = await eagle.folder.getByIds(['folder_id1', 'folder_id2']);

getSelected()

获取当前应用选中的文件夹

  • 返回 Promise<folders: Folder[]> - folders

let folders = await eagle.folder.getSelected();

getRecents()

获取最近使用的的文件夹

  • 返回 Promise<folders: Folder[]> - folders

let folders = await eagle.folder.getRecents();

open(folderId)

Eagle 将打开对应 folderId文件夹。

  • 返回 Promise<void>

await eagle.folder.open('folder_id');

// 等价于
let folder = await eagle.folder.getById('folder_id');
await folder.open();

提示:你也可以直接呼叫 folder 实例的 open() 方法打开文件夹。


類:Folder

由 Folder API get返回的 Object 类型,提供修改、保存功能。

let folder = await eagle.folder.getById('folder_id');

console.log(folder.id);
console.log(folder.name);

folder.name = 'new name';
console.log(folder.name);

await folder.save();

🦄 最佳实践: 为了确保数据安全性,请使用 Folder 实例提供的 save() 方法进行数据的存取与修改,应避免直接修改 Eagle 资源库底下的 metadata.json 或任意文件。


实例方法

save()

保存所有修改

  • 返回 Promise<void>

let folder = await eagle.folder.getById('folder_id');
folder.name = 'New Fodler Name';

// 保存修改
await folder.save();

open()

Eagle 将打开此文件夹。

  • 返回 Promise<void>

let folder = await eagle.folder.getById('folder_id');
await folder.open();

// 等价于
await eagle.folder.open('folder_id');

提示:你也可以直接呼叫 eagle.folder.open(folderId)方法打开文件夹。


实例属性

Folder 实例包含以下属性:

id string

只读,文件夹 id。

name string

文件夹名称。

description string

文件夹描述、介绍。

icon string

只读,文件夹图标。

iconColor string

只读,文件夹图标颜色。

createdAt Interger

只读,文件夹创建时间(timestamp)。

let date = new Date(folder.createdAt);

children Folder[]

只读,子文件夹数组。

let children = folder.children;

console.log(children[0]);
await children[0].open();

上一页item(项目)下一页tag(标签)

最后更新于1年前