optimize code

This commit is contained in:
harry 2024-04-05 11:20:23 +08:00
parent c514108f88
commit ce961bb22c

View File

@ -1,4 +1,5 @@
import os import os
import platform
import threading import threading
from typing import Any from typing import Any
from loguru import logger from loguru import logger
@ -23,32 +24,35 @@ def get_response(status: int, data: Any = None, message: str = ""):
def to_json(obj): def to_json(obj):
# 定义一个辅助函数来处理不同类型的对象 try:
def serialize(o): # 定义一个辅助函数来处理不同类型的对象
# 如果对象是可序列化类型,直接返回 def serialize(o):
if isinstance(o, (int, float, bool, str)) or o is None: # 如果对象是可序列化类型,直接返回
return o if isinstance(o, (int, float, bool, str)) or o is None:
# 如果对象是二进制数据转换为base64编码的字符串 return o
elif isinstance(o, bytes): # 如果对象是二进制数据转换为base64编码的字符串
return "*** binary data ***" elif isinstance(o, bytes):
# 如果对象是字典,递归处理每个键值对 return "*** binary data ***"
elif isinstance(o, dict): # 如果对象是字典,递归处理每个键值对
return {k: serialize(v) for k, v in o.items()} elif isinstance(o, dict):
# 如果对象是列表或元组,递归处理每个元素 return {k: serialize(v) for k, v in o.items()}
elif isinstance(o, (list, tuple)): # 如果对象是列表或元组,递归处理每个元素
return [serialize(item) for item in o] elif isinstance(o, (list, tuple)):
# 如果对象是自定义类型尝试返回其__dict__属性 return [serialize(item) for item in o]
elif hasattr(o, '__dict__'): # 如果对象是自定义类型尝试返回其__dict__属性
return serialize(o.__dict__) elif hasattr(o, '__dict__'):
# 其他情况返回None或者可以选择抛出异常 return serialize(o.__dict__)
else: # 其他情况返回None或者可以选择抛出异常
return None else:
return None
# 使用serialize函数处理输入对象 # 使用serialize函数处理输入对象
serialized_obj = serialize(obj) serialized_obj = serialize(obj)
# 序列化处理后的对象为JSON字符串 # 序列化处理后的对象为JSON字符串
return json.dumps(serialized_obj, ensure_ascii=False, indent=4) return json.dumps(serialized_obj, ensure_ascii=False, indent=4)
except Exception as e:
return None
def get_uuid(remove_hyphen: bool = False): def get_uuid(remove_hyphen: bool = False):