feat: 增加对插件钩子返回值的支持

This commit is contained in:
Rock Chin 2023-01-14 22:53:28 +08:00
parent 6d81821557
commit fa967c3c89

View File

@ -84,6 +84,41 @@ class EventContext:
__prevent_postorder__ = False __prevent_postorder__ = False
""" 是否阻止后续插件的执行 """ """ 是否阻止后续插件的执行 """
__return_value__ = {}
""" 返回值
示例:
{
"example": [
'value1',
'value2',
3,
4,
{
'key1': 'value1',
},
['value1', 'value2']
]
}
"""
def add_return(self, key: str, ret):
"""添加返回值"""
if key not in self.__return_value__:
self.__return_value__[key] = []
self.__return_value__[key].append(ret)
def get_return(self, key: str):
"""获取key的所有返回值"""
if key in self.__return_value__:
return self.__return_value__[key]
return None
def get_return_value(self, key: str):
"""获取key的首个返回值"""
if key in self.__return_value__:
return self.__return_value__[key][0]
return None
def prevent_default(self): def prevent_default(self):
"""阻止默认行为""" """阻止默认行为"""
self.__prevent_default__ = True self.__prevent_default__ = True