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
Objectname
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 - 父文件夹 IDoptions
Objectname
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 (可选) - 文件夾 idids
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
由 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');
实例属性
Folder
实例包含以下属性:
id
string
id
string只读,文件夹 id。
name
string
name
string文件夹名称。
description
string
description
string文件夹描述、介绍。
icon
string
icon
string只读,文件夹图标。
iconColor
string
iconColor
string只读,文件夹图标颜色。
createdAt
Interger
createdAt
Interger只读,文件夹创建时间(timestamp)。
let date = new Date(folder.createdAt);
children
Folder[]
children
Folder[]只读,子文件夹数组。
let children = folder.children;
console.log(children[0]);
await children[0].open();
最后更新于