fix: 网页版增加对话图片支持

This commit is contained in:
Gsh
2025-12-13 18:09:12 +08:00
parent d2981100fa
commit c073868989
11 changed files with 300 additions and 29 deletions

View File

@@ -2,11 +2,19 @@ import type { FilesCardProps } from 'vue-element-plus-x/types/FilesCard';
// 对话聊天的文件上传列表
import { defineStore } from 'pinia';
export interface FileItem extends FilesCardProps {
file: File;
fileId?: string; // 上传后返回的文件ID
isUploaded?: boolean; // 是否已上传
uploadProgress?: number; // 上传进度
base64?: string; // 图片的base64编码
}
export const useFilesStore = defineStore('files', () => {
const filesList = ref<FilesCardProps & { file: File }[]>([]);
const filesList = ref<FileItem[]>([]);
// 设置文件列表
const setFilesList = (list: FilesCardProps & { file: File }[]) => {
const setFilesList = (list: FileItem[]) => {
filesList.value = list;
};
@@ -15,9 +23,24 @@ export const useFilesStore = defineStore('files', () => {
filesList.value.splice(index, 1);
};
// 更新文件上传状态
const updateFileUploadStatus = (index: number, fileId: string) => {
if (filesList.value[index]) {
filesList.value[index].fileId = fileId;
filesList.value[index].isUploaded = true;
}
};
// 清空文件列表
const clearFilesList = () => {
filesList.value = [];
};
return {
filesList,
setFilesList,
deleteFileByIndex,
updateFileUploadStatus,
clearFilesList,
};
});