From c6ec43dde5c04c00a2b421fee6f723f536372145 Mon Sep 17 00:00:00 2001 From: zhangzhanwei Date: Wed, 3 Jun 2026 14:11:02 +0800 Subject: [PATCH] fix: Share chat image --- .../serializers/application_chat_link.py | 21 ++++++++++++++++++- 1 file changed, 20 insertions(+), 1 deletion(-) diff --git a/apps/application/serializers/application_chat_link.py b/apps/application/serializers/application_chat_link.py index b97b60b1919..a283d264f9b 100644 --- a/apps/application/serializers/application_chat_link.py +++ b/apps/application/serializers/application_chat_link.py @@ -15,9 +15,28 @@ class ShareChatRecordModelSerializer(serializers.ModelSerializer): + + execution_details = serializers.SerializerMethodField() class Meta: model = ChatRecord - fields = ['id', 'problem_text', 'answer_text', 'answer_text_list', 'create_time'] + fields = ['id', 'problem_text', 'answer_text', 'answer_text_list', + 'create_time', 'execution_details'] + + @staticmethod + def get_execution_details(chat_record): + details = chat_record.details or {} + # 分享是公开链接,只挑 start-node 的上传文件列表,避免泄露其它执行详情 + return [ + { + 'type': 'start-node', + 'image_list': v.get('image_list', []), + 'document_list': v.get('document_list', []), + 'audio_list': v.get('audio_list', []), + 'video_list': v.get('video_list', []), + 'other_list': v.get('other_list', []), + } + for v in details.values() if v.get('type') == 'start-node' + ] class ChatRecordShareLinkRequestSerializer(serializers.Serializer): chat_record_ids = serializers.ListSerializer(