fix: reuse referenced message media in dashboard quotes
This commit is contained in:
@@ -109,6 +109,25 @@ def get_messages():
|
||||
msg['quoted_type'] = quote_data.get('reference_type', '')
|
||||
msg['quoted_preview_image'] = quote_data.get('preview_image', '')
|
||||
msg['quoted_preview_video_thumb'] = quote_data.get('preview_video_thumb', '')
|
||||
msg['quoted_reference_svrid'] = quote_data.get('reference_svrid', '')
|
||||
|
||||
# 优先使用原始被引用消息自己已落库的图片/缩略图地址
|
||||
reference_svrid = quote_data.get('reference_svrid')
|
||||
if reference_svrid:
|
||||
referenced_msg = server.message_storage.get_message_by_message_id(reference_svrid)
|
||||
if referenced_msg:
|
||||
if msg['quoted_type'] == 'image':
|
||||
msg['quoted_preview_image'] = (
|
||||
referenced_msg.get('image_path')
|
||||
or referenced_msg.get('message_thumb')
|
||||
or msg['quoted_preview_image']
|
||||
)
|
||||
elif msg['quoted_type'] == 'video':
|
||||
msg['quoted_preview_video_thumb'] = (
|
||||
referenced_msg.get('message_thumb')
|
||||
or referenced_msg.get('image_path')
|
||||
or msg['quoted_preview_video_thumb']
|
||||
)
|
||||
else:
|
||||
# 其他类型的应用消息,解析 XML 提取标题
|
||||
root = ET.fromstring(msg['content'])
|
||||
|
||||
Reference in New Issue
Block a user