Appearance
动态指令
很多时候,插件应用中会提供一些功能供用户进行个性化设置(例如:网页快开插件应用),这部分配置无法在 plugin.json
事先定义好,所以我们提供了以下方法对插件应用功能进行动态增减。
utools.getFeatures([codes])
获取插件应用动态创建的功能。
类型定义
ts
function getFeatures(): Feature[];
function getFeatures(codes: string[]): Feature[];
Feature
类型定义
ts
interface Feature {
code: string;
explain: string;
icon: string;
platform: string;
cmds: Cmd[];
}
字段说明
code
与 plugin.json 中 features.code 一致
explain
与 plugin.json 中 features.explain 一致
icon
与 plugin.json 中 features.icon 一致
platform
与 plugin.json 中 features.platform 一致
cmds
与 plugin.json 中 features.cmds 一致
示例代码
ts
// 获取所有动态功能
const features = utools.getFeatures();
console.log(features);
// 获取特定 code
const features = utools.getFeatures(["code-1", "code-2"]);
console.log(features);
utools.setFeature(feature)
为本插件应用动态新增某个功能。
类型定义
ts
function setFeature(feature: Feature): void;
Feature 类型参考
Feature
类型定义
示例代码
ts
utools.setFeature({
code: "hosts",
explain: "hosts切换",
// "icon": "res/xxx.png",
// "icon": "data:image/png;base64,xxx...",
// "platform": ["win32", "darwin", "linux"]
cmds: ["hosts"],
});
utools.removeFeature(code)
动态删除本插件应用的某个功能。
类型定义
ts
function removeFeature(code: string): Boolean;
code
为要删除的功能的 code
示例代码
ts
utools.removeFeature("code");