调整代码
This commit is contained in:
0
gewechat/response/__init__.py
Normal file
0
gewechat/response/__init__.py
Normal file
56
gewechat/response/gewe_resp.py
Normal file
56
gewechat/response/gewe_resp.py
Normal file
@@ -0,0 +1,56 @@
|
||||
import typing
|
||||
|
||||
|
||||
class GeweResponse:
|
||||
"""
|
||||
通用的 Gewechat 响应处理类
|
||||
"""
|
||||
|
||||
def __init__(self, resp: dict):
|
||||
"""
|
||||
:param resp: gewechat接口返回的原始字典
|
||||
"""
|
||||
self.raw = resp
|
||||
self.ret = resp.get("ret")
|
||||
self.msg = resp.get("msg")
|
||||
self.data = resp.get("data")
|
||||
|
||||
def is_success(self) -> bool:
|
||||
"""
|
||||
判断请求是否成功
|
||||
:return: True/False
|
||||
"""
|
||||
return self.ret == 200
|
||||
|
||||
def get_msg(self) -> str:
|
||||
"""
|
||||
获取返回消息
|
||||
:return: 消息字符串
|
||||
"""
|
||||
return self.msg or ""
|
||||
|
||||
def get_data(self) -> typing.Any:
|
||||
"""
|
||||
获取返回的数据对象,类型可能为dict、list、str等
|
||||
:return: data字段内容
|
||||
"""
|
||||
return self.data
|
||||
|
||||
def get_data_as_list(self) -> list:
|
||||
"""
|
||||
获取data字段为list类型(若不是则返回空列表)
|
||||
"""
|
||||
if isinstance(self.data, list):
|
||||
return self.data
|
||||
return []
|
||||
|
||||
def get_data_as_dict(self) -> dict:
|
||||
"""
|
||||
获取data字段为dict类型(若不是则返回空字典)
|
||||
"""
|
||||
if isinstance(self.data, dict):
|
||||
return self.data
|
||||
return {}
|
||||
|
||||
def __repr__(self):
|
||||
return f"<GeweResponse ret={self.ret} msg={self.msg} data_type={type(self.data).__name__}>"
|
||||
Reference in New Issue
Block a user