增强插件系统:添加硬件插件类型及默认插件构造函数
- 在插件类型中新增硬件插件类型(PluginTypeHardware),以支持更多插件类型的扩展。 - 添加便捷的构造函数 NewBasePluginWithDefaultType 和 NewPluginWithDefaultType,简化插件创建过程,适用于不需要指定特殊类型的场景。 - 更新日志插件和统计插件的创建示例,展示如何使用默认插件类型。 此更新提升了插件系统的灵活性,便于开发者快速创建和管理插件。
This commit is contained in:
@@ -22,16 +22,29 @@ type LoggerPlugin struct {
|
||||
|
||||
// Plugin 导出的插件变量
|
||||
// 注意:变量名必须是Plugin,大小写敏感
|
||||
// 使用方式1: 明确指定插件类型
|
||||
var Plugin = &LoggerPlugin{
|
||||
BasePlugin: plugin.NewBasePlugin(
|
||||
"LoggerPlugin",
|
||||
"1.0.0",
|
||||
"简单的日志记录插件",
|
||||
"开发者",
|
||||
plugin.PluginTypeUtils, // 设置插件类型为工具插件
|
||||
plugin.PluginTypeUtils, // 明确指定为工具类插件
|
||||
),
|
||||
}
|
||||
|
||||
// 使用方式2: 使用默认插件类型(通用插件)
|
||||
// 如果您不关心插件类型或想使用默认的通用插件类型,可以使用以下方式:
|
||||
//
|
||||
// var Plugin = &LoggerPlugin{
|
||||
// BasePlugin: plugin.NewBasePluginWithDefaultType(
|
||||
// "LoggerPlugin",
|
||||
// "1.0.0",
|
||||
// "简单的日志记录插件",
|
||||
// "开发者",
|
||||
// ), // 将自动使用 PluginTypeGeneral 类型
|
||||
// }
|
||||
|
||||
// Init 初始化插件
|
||||
func (p *LoggerPlugin) Init(ctx context.Context, config map[string]interface{}) error {
|
||||
p.config = config
|
||||
@@ -59,7 +72,7 @@ func (p *LoggerPlugin) Init(ctx context.Context, config map[string]interface{})
|
||||
p.logger = log.New(logFile, "[LoggerPlugin] ", log.LstdFlags)
|
||||
|
||||
p.logger.Println("日志插件初始化完成")
|
||||
fmt.Println("日志插件初始化完成,日志文件:", logFilePath)
|
||||
fmt.Printf("日志插件初始化完成,日志文件: %s,插件类型: %s\n", logFilePath, p.Type())
|
||||
|
||||
return nil
|
||||
}
|
||||
|
Reference in New Issue
Block a user