fix: 网页版增加对话图片支持
This commit is contained in:
@@ -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,
|
||||
};
|
||||
});
|
||||
|
||||
Reference in New Issue
Block a user