# Zxy导入日志模块 import logging # Zxy获取日志记录器 logger = logging.getLogger(__name__) # Zxy定义基础插件类 class BasePlugin: # Zxy插件元数据 PLUGIN_NAME = None # Zxy插件名称 PLUGIN_DESCRIPTION = None # Zxy插件描述 PLUGIN_VERSION = None # Zxy插件版本 # Zxy初始化插件 def __init__(self): # Zxy检查插件元数据是否已定义 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() # Zxy调用初始化方法 self.register_hooks() # Zxy注册钩子 # Zxy插件初始化逻辑 def init_plugin(self): """ 插件初始化逻辑 子类可以重写此方法来实现特定的初始化操作 """ logger.info(f'{self.PLUGIN_NAME} initialized.') # Zxy记录插件初始化日志 # Zxy注册插件钩子 def register_hooks(self): """ 注册插件钩子 子类可以重写此方法来注册特定的钩子 """ pass # Zxy获取插件信息 def get_plugin_info(self): """ 获取插件信息 :return: 包含插件元数据的字典 """ return { 'name': self.PLUGIN_NAME, # Zxy插件名称 'description': self.PLUGIN_DESCRIPTION, # Zxy插件描述 'version': self.PLUGIN_VERSION # Zxy插件版本 }