WebCAD-Lib-TS API 文档 - v1.0.0
    Preparing search index...

    Class PluginManager

    插件管理器 单例模式,管理所有插件的生命周期

    import { PluginManager } from 'vjcad';

    const pm = PluginManager.getInstance();

    // 从 URL 加载插件
    await pm.loadFromUrl('https://example.com/my-plugin.js');

    // 获取已加载插件列表
    const plugins = pm.getLoadedPlugins();

    // 停用插件
    await pm.deactivate('my-plugin');

    // 卸载插件
    await pm.unload('my-plugin');
    Index

    Accessors

    • get pluginCount(): number

      获取已加载插件数量

      Returns number

    Methods

    • 按插件包名加载插件

      自动推断 URL 并加载插件,具备以下特性:

      • 如果插件已加载且处于 Active 状态,直接返回插件 ID(不重复加载)
      • 如果插件正在加载中,等待加载完成后返回(不重复发起请求)
      • 如果未加载,从推断的 URL 加载

      Parameters

      • packageName: string

        插件包名,如 'vcad-plugin-architecture'

      • Optionaloptions: PluginLoadOptions & { baseUrl?: string }

        加载选项,额外支持 baseUrl 自定义插件路径

      Returns Promise<string>

      插件ID

      const pm = PluginManager.getInstance();
      // 从 ./plugins/vcad-plugin-architecture.js 加载
      await pm.loadByName('vcad-plugin-architecture');

      // 自定义路径
      await pm.loadByName('vcad-plugin-architecture', { baseUrl: '/static/plugins/' });
    • 从 URL 加载插件

      Parameters

      • jsUrl: string

        JS 文件 URL

      • OptionalcssUrl: string

        可选的 CSS 文件 URL

      • Optionaloptions: PluginLoadOptions

        加载选项

      Returns Promise<string>

      插件ID

    • 从本地路径加载插件

      Parameters

      • jsPath: string

        JS 文件路径

      • OptionalcssPath: string

        可选的 CSS 文件路径

      • Optionaloptions: PluginLoadOptions

        加载选项

      Returns Promise<string>

      插件ID

    • 从 JS 内容加载插件

      Parameters

      • jsContent: string

        JS 代码内容

      • OptionalcssContent: string

        可选的 CSS 样式内容

      • Optionaloptions: PluginLoadOptions

        加载选项

      Returns Promise<string>

      插件ID

    • 从缓存条目加载插件 自动判断使用 URL 还是代码内容方式加载

      Parameters

      Returns Promise<string>

      插件ID

    • 激活插件

      Parameters

      • pluginId: string

        插件ID

      Returns Promise<void>

    • 停用插件

      Parameters

      • pluginId: string

        插件ID

      Returns Promise<void>

    • 卸载插件

      Parameters

      • pluginId: string

        插件ID

      Returns Promise<void>

    • 获取已加载的插件列表

      Returns PluginInfo[]

    • 获取指定插件的信息

      Parameters

      • pluginId: string

        插件ID

      Returns PluginInfo

    • 获取指定插件注册的命令列表

      Parameters

      • pluginId: string

        插件ID

      Returns string[]

      命令名称数组,如果插件不存在则返回空数组

    • 检查插件是否已加载

      Parameters

      • pluginId: string

        插件ID

      Returns boolean

    • 检查插件是否已激活

      Parameters

      • pluginId: string

        插件ID

      Returns boolean

    • 获取所有已加载的插件ID

      Returns string[]