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""