echoes/frontend/contracts/pluginContract.ts

48 lines
1.5 KiB
TypeScript
Raw Normal View History

// File path: contracts\pluginContract.ts
/**
*
*
*
*
*/
import { SerializeType } from "contracts/generalContract";
import { CapabilityProps } from "contracts/capabilityContract";
export interface PluginConfig {
name: string; // 插件名称
version: string; // 插件版本
displayName: string; // 插件显示名称
description?: string; // 插件描述(可选)
author?: string; // 插件作者(可选)
enabled: boolean; // 插件是否启用
icon?: string; // 插件图标URL可选
managePath?: string; // 插件管理页面路径(可选)
configuration?: PluginConfiguration; // 插件配置
/** 能力 */
capabilities?: Set<CapabilityProps>;
routs: Set<{
description?: string; // 路由描述(可选)
path: string; // 路由路径
}>;
// 模块初始化函数
initialize?: () => Promise<void>;
// 模块销毁函数
destroy?: () => Promise<void>
}
/**
*
*
*
*/
export interface PluginConfiguration {
[key: string]: {
title: string; // 属性标题
description?: string; // 属性描述(可选)
data: SerializeType; // 额外数据(可选),支持序列化
};
}