feat: 样本管理
This commit is contained in:
@@ -6,7 +6,7 @@ import {
|
||||
import { message, Upload } from 'antd';
|
||||
import type { RcFile, UploadFile, UploadProps } from 'antd/lib/upload';
|
||||
import React, { useState } from 'react';
|
||||
import { createSample, getSample } from '@/services/ai/sample';
|
||||
import { createSample } from '@/services/ai/sample';
|
||||
import styles from './index.module.less';
|
||||
|
||||
const { Dragger } = Upload;
|
||||
@@ -65,15 +65,11 @@ const AudioUploader: React.FC<AudioUploaderProps> = ({
|
||||
// 实际的后端接口上传
|
||||
const uploadToServer = async (file: File) => {
|
||||
const formData = new FormData();
|
||||
formData.append('file', file);
|
||||
// formData.append("type", "audio"); // 可以添加额外参数
|
||||
formData.append('files', file);
|
||||
|
||||
const response = await createSample(formData);
|
||||
|
||||
if (!response.ok) {
|
||||
throw new Error(`HTTP error! status: ${response.status}`);
|
||||
}
|
||||
return response.json();
|
||||
message.success('上传成功!');
|
||||
return response;
|
||||
};
|
||||
|
||||
const customRequest: UploadProps['customRequest'] = async (options) => {
|
||||
@@ -81,27 +77,22 @@ const AudioUploader: React.FC<AudioUploaderProps> = ({
|
||||
|
||||
try {
|
||||
setUploading(true);
|
||||
|
||||
// 模拟进度更新
|
||||
onProgress?.({ percent: 10 });
|
||||
|
||||
// 调用后端接口
|
||||
const result = await uploadToServer(file as File);
|
||||
|
||||
console.log(result, 'res');
|
||||
onProgress?.({ percent: 100 });
|
||||
|
||||
if (result.success && result.data) {
|
||||
if (result) {
|
||||
// 构造返回数据
|
||||
const responseData = {
|
||||
url: result.data.url,
|
||||
name: result.data.filename || (file as File).name,
|
||||
url: result[0].fileUrl,
|
||||
name: result[0].fileName || (file as File).name,
|
||||
uid: (file as any).uid,
|
||||
status: 'done' as const,
|
||||
response: result.data,
|
||||
response: result,
|
||||
};
|
||||
|
||||
onSuccess?.(responseData);
|
||||
message.success('音频上传成功!');
|
||||
} else {
|
||||
throw new Error(result.message || '上传失败');
|
||||
}
|
||||
@@ -114,13 +105,13 @@ const AudioUploader: React.FC<AudioUploaderProps> = ({
|
||||
}
|
||||
};
|
||||
|
||||
const handleChange: UploadProps['onChange'] = ({
|
||||
fileList: newFileList,
|
||||
file,
|
||||
}) => {
|
||||
setFileList(newFileList);
|
||||
onChange?.(newFileList);
|
||||
};
|
||||
// const handleChange: UploadProps["onChange"] = ({
|
||||
// fileList: newFileList,
|
||||
// file,
|
||||
// }) => {
|
||||
// setFileList(newFileList);
|
||||
// onChange?.(newFileList);
|
||||
// };
|
||||
|
||||
const handleRemove = (file: UploadFile): boolean => {
|
||||
const newFileList = fileList.filter((item) => item.uid !== file.uid);
|
||||
|
||||
Reference in New Issue
Block a user