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
Powered by GitBook
On this page
  • 方法
  • 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();

Previousitem(項目)Nexttag(標籤)

Last updated 1 year ago