# coding=utf-8 """ 插件错误码体系 定义标准化的插件相关错误码 """ class PluginErrorCode: """插件错误码""" # 通用错误 PLUGIN_NOT_FOUND = ('PLUGIN_001', '插件不存在') PLUGIN_ALREADY_EXISTS = ('PLUGIN_002', '插件编码已存在') PLUGIN_INVALID_CONFIG = ('PLUGIN_003', '插件配置无效') # 生命周期错误 PLUGIN_NOT_INSTALLED = ('PLUGIN_101', '插件未安装') PLUGIN_ALREADY_INSTALLED = ('PLUGIN_102', '插件已安装') PLUGIN_NOT_ACTIVE = ('PLUGIN_103', '插件未启用') PLUGIN_STATUS_ERROR = ('PLUGIN_104', '插件状态错误') # 版本错误 VERSION_NOT_FOUND = ('PLUGIN_201', '版本不存在') VERSION_INVALID = ('PLUGIN_202', '版本号无效') VERSION_ROLLBACK_FAILED = ('PLUGIN_203', '版本回滚失败') # 测试错误 TEST_FAILED = ('PLUGIN_301', '插件测试失败') TEST_TIMEOUT = ('PLUGIN_302', '插件测试超时') TEST_INPUT_INVALID = ('PLUGIN_303', '测试输入无效') # Schema 错误 SCHEMA_INVALID = ('PLUGIN_401', '插件 Schema 无效') SCHEMA_MISSING_ENTRY = ('PLUGIN_402', 'Schema 缺少入口定义') SCHEMA_MISSING_PARAMS = ('PLUGIN_403', 'Schema 缺少参数定义') @classmethod def get(cls, code_tuple): """获取错误码和消息""" return code_tuple[0], code_tuple[1] @classmethod def to_dict(cls, code_tuple): """转换为字典格式""" return {'code': code_tuple[0], 'message': code_tuple[1]}