Documentation
¶
Index ¶
- func GetCronFrequencyColor(interval string) string
- func GetPluginStatus(pluginName string) string
- func UpdatePluginStatus(pluginName, status string) error
- type ConfigField
- type CronFrequency
- type Manager
- func (m *Manager) InstallPlugin(source string) error
- func (m *Manager) IsPluginInstalled(pluginName string) bool
- func (m *Manager) IsPluginLoaded(pluginName string) bool
- func (m *Manager) ListInstalledPlugins() ([]*PluginPackage, error)
- func (m *Manager) LoadAllInstalledPlugins() error
- func (m *Manager) LoadPlugin(pluginName string) error
- func (m *Manager) RegisterJSVM(config jsvm.Config) error
- func (m *Manager) RegisterJSVMDefault() error
- func (m *Manager) RegisterJSVMWithRepo(config jsvm.Config, repoManager *repo.RepositoryManager) error
- func (m *Manager) ReloadPlugin(pluginName string) error
- func (m *Manager) SetRepoManager(repoManager *repo.RepositoryManager)
- func (m *Manager) UninstallPlugin(pluginName string) error
- func (m *Manager) UnloadPlugin(pluginName string) error
- type MetadataParser
- func (p *MetadataParser) ParseContent(content []byte) (*PluginMetadata, error)
- func (p *MetadataParser) ParseFile(filePath string) (*PluginMetadata, error)
- func (p *MetadataParser) ScanDirectory(dirPath string) ([]*PluginMetadata, error)
- func (p *MetadataParser) ValidateMetadata(metadata *PluginMetadata) error
- type PluginInstaller
- func (pi *PluginInstaller) InstallFromFile(zipPath string) error
- func (pi *PluginInstaller) InstallFromURL(url string) error
- func (pi *PluginInstaller) InstallSingleFile(filePath string) error
- func (pi *PluginInstaller) IsInstalled(pluginName string) bool
- func (pi *PluginInstaller) ListInstalled() ([]*PluginPackage, error)
- func (pi *PluginInstaller) Uninstall(pluginName string) error
- type PluginMetadata
- type PluginPackage
- type ScheduledTask
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func GetCronFrequencyColor ¶
GetCronFrequencyColor 获取频率对应的颜色类型
func UpdatePluginStatus ¶
UpdatePluginStatus 更新插件状态
Types ¶
type ConfigField ¶
type ConfigField struct {
Type string `json:"type"` // string, boolean, number, select, text
Name string `json:"name"` // 字段名
Label string `json:"label"` // 显示标签
Description string `json:"description"` // 描述
Required bool `json:"required"` // 是否必填
Default interface{} `json:"default"` // 默认值
Options []string `json:"options"` // 选择项(仅select类型)
Validation string `json:"validation"` // 验证规则
}
ConfigField 配置字段定义
type CronFrequency ¶
type CronFrequency struct {
Expression string `json:"expression"` // 原始 Cron 表达式
Description string `json:"description"` // 友好的描述
Interval string `json:"interval"` // 执行间隔
NextRun string `json:"next_run"` // 下次执行时间(简化版)
}
CronFrequency Cron 频率信息
func ParseCronExpression ¶
func ParseCronExpression(expression string) *CronFrequency
ParseCronExpression 解析 Cron 表达式并返回友好的描述
type Manager ¶
type Manager struct {
// contains filtered or unexported fields
}
Manager 插件管理器
func (*Manager) InstallPlugin ¶
InstallPlugin 安装插件
func (*Manager) IsPluginInstalled ¶
IsPluginInstalled 检查插件是否已安装
func (*Manager) IsPluginLoaded ¶
IsPluginLoaded 检查插件是否已加载
func (*Manager) ListInstalledPlugins ¶
func (m *Manager) ListInstalledPlugins() ([]*PluginPackage, error)
ListInstalledPlugins 列出已安装的插件
func (*Manager) LoadAllInstalledPlugins ¶
LoadAllInstalledPlugins 加载所有已安装的插件
func (*Manager) LoadPlugin ¶
LoadPlugin 加载已安装的插件
func (*Manager) RegisterJSVM ¶
RegisterJSVM 注册 JavaScript 虚拟机插件
func (*Manager) RegisterJSVMDefault ¶
RegisterJSVMDefault 注册默认配置的 JSVM 插件
func (*Manager) RegisterJSVMWithRepo ¶
func (m *Manager) RegisterJSVMWithRepo(config jsvm.Config, repoManager *repo.RepositoryManager) error
RegisterJSVMWithRepo 注册 JavaScript 虚拟机插件(带RepositoryManager)
func (*Manager) ReloadPlugin ¶
ReloadPlugin 重新加载插件
func (*Manager) SetRepoManager ¶
func (m *Manager) SetRepoManager(repoManager *repo.RepositoryManager)
SetRepoManager 设置 RepositoryManager
func (*Manager) UninstallPlugin ¶
UninstallPlugin 卸载插件
func (*Manager) UnloadPlugin ¶
UnloadPlugin 卸载已加载的插件
type MetadataParser ¶
type MetadataParser struct {
// contains filtered or unexported fields
}
MetadataParser 元数据解析器
func (*MetadataParser) ParseContent ¶
func (p *MetadataParser) ParseContent(content []byte) (*PluginMetadata, error)
ParseContent 从内容解析插件元数据
func (*MetadataParser) ParseFile ¶
func (p *MetadataParser) ParseFile(filePath string) (*PluginMetadata, error)
ParseFile 解析插件文件的元数据
func (*MetadataParser) ScanDirectory ¶
func (p *MetadataParser) ScanDirectory(dirPath string) ([]*PluginMetadata, error)
ScanDirectory 扫描目录中的所有插件
func (*MetadataParser) ValidateMetadata ¶
func (p *MetadataParser) ValidateMetadata(metadata *PluginMetadata) error
ValidateMetadata 验证元数据完整性
type PluginInstaller ¶
type PluginInstaller struct {
// contains filtered or unexported fields
}
PluginInstaller 插件安装器
func NewPluginInstaller ¶
func NewPluginInstaller(baseDir string) *PluginInstaller
NewPluginInstaller 创建插件安装器
func NewPluginInstallerWithDB ¶
func NewPluginInstallerWithDB(baseDir string, db *sql.DB) *PluginInstaller
NewPluginInstallerWithDB 创建带数据库连接的插件安装器
func (*PluginInstaller) InstallFromFile ¶
func (pi *PluginInstaller) InstallFromFile(zipPath string) error
InstallFromFile 从文件安装插件
func (*PluginInstaller) InstallFromURL ¶
func (pi *PluginInstaller) InstallFromURL(url string) error
InstallFromURL 从URL安装插件
func (*PluginInstaller) InstallSingleFile ¶
func (pi *PluginInstaller) InstallSingleFile(filePath string) error
InstallSingleFile 安装单文件插件
func (*PluginInstaller) IsInstalled ¶
func (pi *PluginInstaller) IsInstalled(pluginName string) bool
IsInstalled 检查插件是否已安装
func (*PluginInstaller) ListInstalled ¶
func (pi *PluginInstaller) ListInstalled() ([]*PluginPackage, error)
ListInstalled 列出已安装的插件
func (*PluginInstaller) Uninstall ¶
func (pi *PluginInstaller) Uninstall(pluginName string) error
Uninstall 卸载插件
type PluginMetadata ¶
type PluginMetadata struct {
Name string `json:"name"`
DisplayName string `json:"display_name"` // 中文名字
Version string `json:"version"`
Description string `json:"description"`
Author string `json:"author"`
License string `json:"license"`
Category string `json:"category"`
Dependencies []string `json:"dependencies"`
Permissions []string `json:"permissions"`
Hooks []string `json:"hooks"`
ConfigFields map[string]*ConfigField `json:"config_fields"`
ConfigSchema map[string]interface{} `json:"config_schema"`
ScheduledTasks []*ScheduledTask `json:"scheduled_tasks"` // 定时任务列表
HasScheduledTask bool `json:"has_scheduled_task"` // 是否包含定时任务
FilePath string `json:"file_path"`
FileSize int64 `json:"file_size"`
FileHash string `json:"file_hash"`
Status string `json:"status"`
InstallTime time.Time `json:"install_time"`
LastUpdated time.Time `json:"last_updated"`
}
PluginMetadata 插件元数据
type PluginPackage ¶
type PluginPackage struct {
Name string `json:"name"`
Version string `json:"version"`
Description string `json:"description"`
Author string `json:"author"`
Main string `json:"main"` // 主入口文件
Hooks []string `json:"hooks"` // 钩子文件列表
Config map[string]interface{} `json:"config"` // 默认配置
Dependencies []string `json:"dependencies"` // 依赖插件
}
PluginPackage 插件包配置文件
type ScheduledTask ¶
type ScheduledTask struct {
Name string `json:"name"` // 任务名称
Schedule string `json:"schedule"` // 调度表达式
Line int `json:"line"` // 所在行号
Frequency *CronFrequency `json:"frequency"` // 执行频率信息
}
ScheduledTask 定时任务定义