使用提升的属性配置脚本

提升属性的一个很好的用例是轻松定义脚本可能需要的各种参数,例如,如果它正在处理数据,则输入和输出注释,或者用于定义脚本行为的特定更改的复选框。

使用复选框切换标志

与其要求用户修改脚本中的布尔值,不如将其复选框用作提升属性,这要直观得多。

为此,请首先定义提升的属性:

#label:groupByExtension="promoted,alias=Group by extension,single,boolean"

然后使用它:

const byExtension = api.currentNote.getLabelValue("groupByExtension") === "true";
if (byExtension) {
    // Do something.
}

这在前端和后端脚本中同样有效。

使用关系选择笔记

脚本的一个常见用例是从另一个笔记中读取数据,并可能将其结果输出到另一个笔记中。为此,我们需要定义以下提升的属性:

#relation:input="promoted,alias=Input,single" #relation:output="promoted,alias=Output,single"

一旦我们有了这个,我们就可以添加一些基本的错误处理,以确保字段由用户完成:

const inputNoteId = api.currentNote.getRelationValue("input");
if (!inputNoteId) {
    api.showError("Missing input.");
    return;
}

const outputNoteId = api.currentNote.getRelationValue("output");
if (!outputNoteId) {
    api.showError("Missing output.");
    return;
}

请注意,这里我们使用的是仅适用于前端笔记的。如果您正在编写后端笔记,只需删除,但用户不会反馈脚本未正确执行的原因。api.showErrorapi.showError

之后,我们可以简单地阅读笔记并用它做一些事情:

const note = api.getNote(inputNoteId);
if (!note) {
    return;
}
const content = note.getContent().toString("utf-8");

“您的支持是我持续分享的动力”

微信收款码
微信
支付宝收款码
支付宝

目录关闭