27 lines
604 B
Python
27 lines
604 B
Python
from abc import ABC, abstractmethod
|
|
|
|
|
|
class AbstractMessageParser(ABC):
|
|
"""设备消息解析器基类"""
|
|
|
|
@property
|
|
@abstractmethod
|
|
def name(self):
|
|
"""消息名称,用于标识该解析器处理的消息类型"""
|
|
pass
|
|
|
|
@abstractmethod
|
|
def check(self, message) -> bool:
|
|
"""判断当前解析器是否能处理该消息"""
|
|
pass
|
|
|
|
@abstractmethod
|
|
def parse(self, message):
|
|
"""解析消息内容"""
|
|
pass
|
|
|
|
@abstractmethod
|
|
def response(self, parsed_data):
|
|
"""根据解析后的数据生成响应"""
|
|
pass
|