import logging logger = logging.getLogger(__name__) #wwc class BasePlugin: # 插件元数据 PLUGIN_NAME = None PLUGIN_DESCRIPTION = None PLUGIN_VERSION = None #wwc def __init__(self): if not all([self.PLUGIN_NAME, self.PLUGIN_DESCRIPTION, self.PLUGIN_VERSION]): raise ValueError("Plugin metadata (PLUGIN_NAME, PLUGIN_DESCRIPTION, PLUGIN_VERSION) must be defined.") self.init_plugin() self.register_hooks() #wwc def init_plugin(self): """ 插件初始化逻辑 子类可以重写此方法来实现特定的初始化操作 """ logger.info(f'{self.PLUGIN_NAME} initialized.') #wwc def register_hooks(self): """ 注册插件钩子 子类可以重写此方法来注册特定的钩子 """ pass #wwc def get_plugin_info(self): """ 获取插件信息 :return: 包含插件元数据的字典 """ return { 'name': self.PLUGIN_NAME, 'description': self.PLUGIN_DESCRIPTION, 'version': self.PLUGIN_VERSION }