1.同步包版本。

2.交叉评查的任务中上传文件。
3.添加dify库名解决保存配置失败的问题。
This commit is contained in:
2026-01-20 17:29:55 +08:00
parent 1fca1a2e2e
commit 9951f16e50
11 changed files with 394 additions and 82 deletions
+73 -2
View File
@@ -362,10 +362,81 @@ export function generateFileId(): string {
*/
export function formatFileSize(bytes: number): string {
if (bytes === 0) return '0 Bytes';
const k = 1024;
const sizes = ['Bytes', 'KB', 'MB', 'GB', 'TB'];
const i = Math.floor(Math.log(bytes) / Math.log(k));
return parseFloat((bytes / Math.pow(k, i)).toFixed(2)) + ' ' + sizes[i];
}
/**
* 向已有任务上传新文档
*
* POST /api/v2/cross_review/tasks/{task_id}/upload_documents
*
* @param params 上传参数
* @returns 上传结果
*/
export async function uploadDocumentToTask(params: {
taskId: number;
file: File;
jwtToken?: string | null;
}): Promise<{
success: boolean;
data?: unknown;
error?: string;
}> {
const { taskId, file, jwtToken } = params;
try {
console.log('[上传文档到任务] 开始上传:', { taskId, fileName: file.name });
const formData = new FormData();
// 添加文件(使用 files 字段名)
formData.append('files', file, file.name);
const uploadEndpoint = `/api/v2/cross_review/tasks/${taskId}/upload_documents`;
const uploadUrl = API_BASE_URL + uploadEndpoint;
const headers: Record<string, string> = {};
if (jwtToken) {
headers['Authorization'] = `Bearer ${jwtToken}`;
}
const response = await axios.post(uploadUrl, formData, { headers });
const result = response.data;
// 新接口响应格式: { code: 0, success: true, message: "...", data: {...} }
if (result && (result.success || result.code === 0)) {
console.log('[上传文档到任务] 上传成功:', result.message);
return { success: true, data: result.data };
} else {
console.error('[上传文档到任务] 上传失败:', result.detail || result.message);
return { success: false, error: result.detail || result.message || '上传失败' };
}
} catch (error) {
console.error('[上传文档到任务] 请求失败:', error);
let errorMessage = '上传文档失败';
if (axios.isAxiosError(error)) {
// 新接口错误格式: { detail: "错误信息" }
if (error.response?.data?.detail) {
errorMessage = error.response.data.detail;
} else if (error.response?.data?.message) {
errorMessage = error.response.data.message;
} else if (error.response?.status === 403) {
errorMessage = '无权操作:只有任务创建者或主要负责人可以上传文档';
} else if (error.response?.status === 400) {
errorMessage = '请求参数错误';
}
} else if (error instanceof Error) {
errorMessage = error.message || errorMessage;
}
return {
success: false,
error: errorMessage
};
}
}
+1
View File
@@ -1,6 +1,7 @@
import { API_BASE_URL } from '../../config/api-config';
import { postgrestPut, postgrestGet } from '../postgrest-client';
import axios from 'axios';
export { uploadDocumentToTask } from './cross-files-upload';
// 交叉评查任务状态枚举
export enum CrossCheckingTaskStatus {