fix: fallback quoted image lookup by md5
This commit is contained in:
@@ -94,7 +94,7 @@
|
||||
|
||||
<div v-else class="message-text-preview is-muted">
|
||||
{% 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' && hasQuotedPreview(scope.row.quoted_preview_image)" class="quoted-media-preview">
|
||||
<div class="message-media-label">【引用图片】</div>
|
||||
<img :src="getQuotedPreviewUrl(scope.row.quoted_preview_image)" class="message-thumb" @click="showQuotedImage(scope.row.quoted_preview_image)">
|
||||
</div>
|
||||
@@ -323,6 +323,7 @@
|
||||
},
|
||||
showQuotedImage(url) {
|
||||
const resolvedUrl = this.getQuotedPreviewUrl(url);
|
||||
if (!resolvedUrl) return;
|
||||
this.selectedMessage = { image_path: '', message_thumb: resolvedUrl };
|
||||
this.imageDialogVisible = true;
|
||||
},
|
||||
@@ -373,8 +374,27 @@
|
||||
}
|
||||
return `/api/messages/media_proxy?url=${encodeURIComponent(url)}`;
|
||||
},
|
||||
isUsableQuotedPreview(url) {
|
||||
if (!url) return false;
|
||||
if (url.startsWith('http://') || url.startsWith('https://')) {
|
||||
return true;
|
||||
}
|
||||
if (url.includes('static/images') || url.includes('static\\images')) {
|
||||
return true;
|
||||
}
|
||||
if (url.includes('/') || url.includes('\\')) {
|
||||
return true;
|
||||
}
|
||||
return false;
|
||||
},
|
||||
hasQuotedPreview(url) {
|
||||
return !!this.getQuotedPreviewUrl(url);
|
||||
},
|
||||
getQuotedPreviewUrl(url) {
|
||||
if (!url) return '';
|
||||
if (!this.isUsableQuotedPreview(url)) {
|
||||
return '';
|
||||
}
|
||||
if (url.startsWith('http://') || url.startsWith('https://')) {
|
||||
return this.getMediaProxyUrl(url);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user