diff --git a/db/task_db.py b/db/task_db.py index 0fc2798..2305c1b 100644 --- a/db/task_db.py +++ b/db/task_db.py @@ -108,7 +108,17 @@ class TaskDBOperator(BaseDBOperator): groups = json.dumps(task_data.get('groups', [])) preview_recipients = json.dumps(task_data.get('preview_recipients', [])) # 处理 content_link - content_link = json.dumps(task_data.get('content_link', {})) + content_link = task_data.get('content_link', {}) + if isinstance(content_link, str): + try: + # 如果已经是JSON字符串,直接使用 + json.loads(content_link) # 验证是否是有效的JSON + except json.JSONDecodeError: + # 如果解析失败,使用空字典 + content_link = json.dumps({}) + else: + # 如果是字典,序列化一次 + content_link = json.dumps(content_link) params = ( task_data['task_id'],