fix: proxy quoted media in dashboard messages

This commit is contained in:
liuwei
2026-04-07 17:40:10 +08:00
parent 867f00435c
commit e823c1049f
2 changed files with 65 additions and 7 deletions

View File

@@ -96,7 +96,7 @@
{% raw %}{{ scope.row.content || `【消息类型: ${scope.row.message_type}】` }}{% endraw %}
<div v-if="scope.row.quoted_type === 'image' && scope.row.quoted_preview_image" class="quoted-media-preview">
<div class="message-media-label">【引用图片】</div>
<img :src="scope.row.quoted_preview_image" class="message-thumb" @click="showQuotedImage(scope.row.quoted_preview_image)">
<img :src="getMediaProxyUrl(scope.row.quoted_preview_image)" class="message-thumb" @click="showQuotedImage(scope.row.quoted_preview_image)">
</div>
<div v-else-if="scope.row.quoted_type === 'video' && scope.row.quoted_preview_video_thumb" class="quoted-media-preview">
<div class="message-media-label">【引用视频】</div>
@@ -361,6 +361,13 @@
}
return `/static/images/${fileName}`;
},
getMediaProxyUrl(url) {
if (!url) return '';
if (url.startsWith('/api/messages/media_proxy')) {
return url;
}
return `/api/messages/media_proxy?url=${encodeURIComponent(url)}`;
}
},
watch: {