feat: 优化聊天附件拖拽上传提示
- 不支持格式改用轻量提示并展示支持范围 - 扩展拖拽区域并增加全区上传覆盖层 - 补充文档和图片格式校验测试
This commit is contained in:
@@ -14,7 +14,10 @@ import type {
|
||||
|
||||
import { computed, onBeforeUnmount, onMounted, ref, watch } from 'vue';
|
||||
|
||||
import { ChatTimeline } from '@easyflow/common-ui';
|
||||
import {
|
||||
CHAT_DOCUMENT_SUPPORTED_FORMATS,
|
||||
ChatTimeline,
|
||||
} from '@easyflow/common-ui';
|
||||
import { BrushCleaning } from '@easyflow/icons';
|
||||
import { copyTextToClipboard } from '@easyflow/utils';
|
||||
|
||||
@@ -26,6 +29,7 @@ import {
|
||||
loadAgentChatImage,
|
||||
} from '#/components/ai-chat/mediaApi';
|
||||
import { useAgentComposerDraft } from '#/components/ai-chat/useAgentComposerDraft';
|
||||
import { CHAT_IMAGE_SUPPORTED_FORMATS } from '#/components/ai-chat/useChatImageUploads';
|
||||
|
||||
import { approveAgentRun, rejectAgentRun } from '../api';
|
||||
import { useAgentTryoutStream } from '../composables/useAgentTryoutStream';
|
||||
@@ -214,12 +218,21 @@ async function handleAddImageFiles(files: File[]) {
|
||||
return;
|
||||
}
|
||||
await composer.ensureSession();
|
||||
const rejected = await composer.images.addFiles(files, {
|
||||
agentId: String(props.agent.id),
|
||||
mode: 'DRAFT',
|
||||
sessionId: composer.sessionId.value,
|
||||
});
|
||||
if (rejected > 0) {
|
||||
const { rejectedCount, unsupportedCount } = await composer.images.addFiles(
|
||||
files,
|
||||
{
|
||||
agentId: String(props.agent.id),
|
||||
mode: 'DRAFT',
|
||||
sessionId: composer.sessionId.value,
|
||||
},
|
||||
);
|
||||
if (unsupportedCount > 0) {
|
||||
ElMessage.warning({
|
||||
grouping: true,
|
||||
message: `不支持该图片格式,支持:${CHAT_IMAGE_SUPPORTED_FORMATS}`,
|
||||
});
|
||||
}
|
||||
if (rejectedCount > 0) {
|
||||
ElMessage.warning('每次最多添加 5 张图片');
|
||||
}
|
||||
composer.scheduleSave();
|
||||
@@ -231,12 +244,21 @@ async function handleAddDocumentFiles(files: File[]) {
|
||||
return;
|
||||
}
|
||||
await composer.ensureSession();
|
||||
const rejected = await composer.documents.addFiles(files, {
|
||||
agentId: String(props.agent.id),
|
||||
mode: 'DRAFT',
|
||||
sessionId: composer.sessionId.value,
|
||||
});
|
||||
if (rejected > 0) {
|
||||
const { rejectedCount, unsupportedCount } = await composer.documents.addFiles(
|
||||
files,
|
||||
{
|
||||
agentId: String(props.agent.id),
|
||||
mode: 'DRAFT',
|
||||
sessionId: composer.sessionId.value,
|
||||
},
|
||||
);
|
||||
if (unsupportedCount > 0) {
|
||||
ElMessage.warning({
|
||||
grouping: true,
|
||||
message: `不支持该文件格式,支持:${CHAT_DOCUMENT_SUPPORTED_FORMATS}`,
|
||||
});
|
||||
}
|
||||
if (rejectedCount > 0) {
|
||||
ElMessage.warning('每轮最多添加 3 份文档');
|
||||
}
|
||||
composer.scheduleSave();
|
||||
|
||||
Reference in New Issue
Block a user