fix: prefer local quoted media paths in dashboard
This commit is contained in:
@@ -96,7 +96,7 @@
|
|||||||
{% raw %}{{ scope.row.content || `【消息类型: ${scope.row.message_type}】` }}{% endraw %}
|
{% 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 v-if="scope.row.quoted_type === 'image' && scope.row.quoted_preview_image" class="quoted-media-preview">
|
||||||
<div class="message-media-label">【引用图片】</div>
|
<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>
|
||||||
<div v-else-if="scope.row.quoted_type === 'video' && scope.row.quoted_preview_video_thumb" class="quoted-media-preview">
|
<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>
|
<div class="message-media-label">【引用视频】</div>
|
||||||
@@ -319,7 +319,8 @@
|
|||||||
this.imageDialogVisible = true;
|
this.imageDialogVisible = true;
|
||||||
},
|
},
|
||||||
showQuotedImage(url) {
|
showQuotedImage(url) {
|
||||||
this.selectedMessage = { image_path: '', message_thumb: url };
|
const resolvedUrl = this.getQuotedPreviewUrl(url);
|
||||||
|
this.selectedMessage = { image_path: '', message_thumb: resolvedUrl };
|
||||||
this.imageDialogVisible = true;
|
this.imageDialogVisible = true;
|
||||||
},
|
},
|
||||||
showVideo(message) {
|
showVideo(message) {
|
||||||
@@ -368,6 +369,13 @@
|
|||||||
return url;
|
return url;
|
||||||
}
|
}
|
||||||
return `/api/messages/media_proxy?url=${encodeURIComponent(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: {
|
watch: {
|
||||||
|
|||||||
Reference in New Issue
Block a user