新增: 跨端图片上传(file.1216.top URL 优先,失败回退 base64,协议对齐)

This commit is contained in:
lxy
2026-08-08 14:19:26 +08:00
parent 4ce6a859e7
commit d19784a414
9 changed files with 247 additions and 42 deletions
+9 -3
View File
@@ -2,14 +2,15 @@
//! 图片输入预览 — 待发送图片缩略图列表,从 ChatInput.vue 提取
//!
//! 职责:显示待发送图片缩略图、移除按钮。不含图片读取/粘贴/拖拽逻辑。
//! 2026-08-06:支持 url 模式(file.1216.top 上传)与 dataUrl 模式(base64)双预览。
import { useI18n } from 'vue-i18n'
const { t } = useI18n()
defineProps<{
/** 待发送图片列表 */
pendingImages: { id: string; dataUrl: string; mediaType: string }[]
/** 待发送图片列表(url 模式用 url 预览,base64 模式用 dataUrl) */
pendingImages: { id: string; dataUrl?: string; url?: string; mediaType: string }[]
}>()
const emit = defineEmits<{
@@ -20,7 +21,12 @@ const emit = defineEmits<{
<template>
<div v-if="pendingImages.length" class="ai-img-preview-row">
<div v-for="img in pendingImages" :key="img.id" class="ai-img-preview">
<img :src="img.dataUrl" :alt="t('aiChat.imagePreviewAlt')" class="ai-img-preview-thumb" />
<img
:src="img.url || img.dataUrl"
:alt="t('aiChat.imagePreviewAlt')"
class="ai-img-preview-thumb"
loading="lazy"
/>
<button
type="button"
class="ai-img-preview-x"