fix: prefer local quoted media paths in dashboard

This commit is contained in:
liuwei
2026-04-07 17:46:55 +08:00
parent 238e478f52
commit f9417a201f

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="getMediaProxyUrl(scope.row.quoted_preview_image)" class="message-thumb" @click="showQuotedImage(scope.row.quoted_preview_image)">
<img :src="getQuotedPreviewUrl(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>
@@ -319,7 +319,8 @@
this.imageDialogVisible = true;
},
showQuotedImage(url) {
this.selectedMessage = { image_path: '', message_thumb: url };
const resolvedUrl = this.getQuotedPreviewUrl(url);
this.selectedMessage = { image_path: '', message_thumb: resolvedUrl };
this.imageDialogVisible = true;
},
showVideo(message) {
@@ -368,6 +369,13 @@
return url;
}
return `/api/messages/media_proxy?url=${encodeURIComponent(url)}`;
},
getQuotedPreviewUrl(url) {
if (!url) return '';
if (url.startsWith('http://') || url.startsWith('https://')) {
return this.getMediaProxyUrl(url);
}
return this.getImageUrl(url);
}
},
watch: {