feat: 实现异步文件上传前端功能
- 添加批量上传API接口 - 扩展UploadData组件,添加批量上传弹窗 - 添加统计卡片展示(上传中、解析中、成功、失败) - 添加文件上传记录列表 - 实现轮询机制自动刷新状态 - 支持文件数量、格式、大小校验 - 支持手动刷新和状态筛选 - 添加响应式布局支持
This commit is contained in:
@@ -79,3 +79,63 @@ export function getImportStatus(taskId) {
|
||||
method: 'get'
|
||||
})
|
||||
}
|
||||
|
||||
// ========== 批量文件上传相关接口 ==========
|
||||
|
||||
/**
|
||||
* 批量上传文件
|
||||
* @param {Number} projectId 项目ID
|
||||
* @param {Array<File>} files 文件数组
|
||||
* @returns {Promise} 返回 batchId
|
||||
*/
|
||||
export function batchUploadFiles(projectId, files) {
|
||||
const formData = new FormData()
|
||||
files.forEach(file => {
|
||||
formData.append('files', file)
|
||||
})
|
||||
formData.append('projectId', projectId)
|
||||
|
||||
return request({
|
||||
url: '/ccdi/file-upload/batch',
|
||||
method: 'post',
|
||||
data: formData,
|
||||
headers: {
|
||||
'Content-Type': 'multipart/form-data'
|
||||
},
|
||||
timeout: 300000 // 5分钟超时
|
||||
})
|
||||
}
|
||||
|
||||
/**
|
||||
* 查询文件上传记录列表
|
||||
* @param {Object} params 查询参数
|
||||
*/
|
||||
export function getFileUploadList(params) {
|
||||
return request({
|
||||
url: '/ccdi/file-upload/list',
|
||||
method: 'get',
|
||||
params
|
||||
})
|
||||
}
|
||||
|
||||
/**
|
||||
* 查询文件上传统计
|
||||
* @param {Number} projectId 项目ID
|
||||
*/
|
||||
export function getFileUploadStatistics(projectId) {
|
||||
return request({
|
||||
url: `/ccdi/file-upload/statistics/${projectId}`,
|
||||
method: 'get'
|
||||
})
|
||||
}
|
||||
|
||||
/**
|
||||
* 查询文件上传详情
|
||||
* @param {Number} id 记录ID
|
||||
*/
|
||||
export function getFileUploadDetail(id) {
|
||||
return request({
|
||||
url: `/ccdi/file-upload/detail/${id}`,
|
||||
method: 'get'
|
||||
})
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user