2024-11-16 23:03:55 +08:00
|
|
|
|
// File path: contracts\pluginContract.ts
|
2024-11-14 01:44:26 +08:00
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* 插件配置接口
|
|
|
|
|
*
|
|
|
|
|
* 该接口定义了插件的基本配置,包括插件的名称、版本、描述、作者等信息。
|
|
|
|
|
* 还包括插件的生命周期钩子和依赖项的配置。
|
|
|
|
|
*/
|
2024-11-16 23:03:55 +08:00
|
|
|
|
import { SerializeType } from "contracts/generalContract";
|
|
|
|
|
import { CapabilityProps } from "contracts/capabilityContract";
|
|
|
|
|
|
2024-11-14 17:43:18 +08:00
|
|
|
|
|
2024-11-14 01:44:26 +08:00
|
|
|
|
export interface PluginConfig {
|
|
|
|
|
name: string; // 插件名称
|
|
|
|
|
version: string; // 插件版本
|
|
|
|
|
displayName: string; // 插件显示名称
|
|
|
|
|
description?: string; // 插件描述(可选)
|
|
|
|
|
author?: string; // 插件作者(可选)
|
|
|
|
|
enabled: boolean; // 插件是否启用
|
|
|
|
|
icon?: string; // 插件图标URL(可选)
|
|
|
|
|
managePath?: string; // 插件管理页面路径(可选)
|
|
|
|
|
configuration?: PluginConfiguration; // 插件配置
|
2024-11-16 23:03:55 +08:00
|
|
|
|
/** 能力 */
|
|
|
|
|
capabilities?: Set<CapabilityProps>;
|
2024-11-14 01:44:26 +08:00
|
|
|
|
routs: Set<{
|
|
|
|
|
description?: string; // 路由描述(可选)
|
|
|
|
|
path: string; // 路由路径
|
|
|
|
|
}>;
|
2024-11-16 23:03:55 +08:00
|
|
|
|
// 模块初始化函数
|
|
|
|
|
initialize?: () => Promise<void>;
|
|
|
|
|
// 模块销毁函数
|
|
|
|
|
destroy?: () => Promise<void>
|
2024-11-14 01:44:26 +08:00
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* 插件配置接口
|
|
|
|
|
*
|
|
|
|
|
* 该接口定义了插件的配置类型及其属性。
|
|
|
|
|
*/
|
|
|
|
|
export interface PluginConfiguration {
|
2024-11-14 17:43:18 +08:00
|
|
|
|
[key: string]: {
|
2024-11-14 01:44:26 +08:00
|
|
|
|
title: string; // 属性标题
|
|
|
|
|
description?: string; // 属性描述(可选)
|
2024-11-14 17:43:18 +08:00
|
|
|
|
data: SerializeType; // 额外数据(可选),支持序列化
|
|
|
|
|
};
|
|
|
|
|
}
|
|
|
|
|
|