刘博博 2 dni temu
rodzic
commit
37a52ed63c

+ 2 - 68
src/apis/api.ts

@@ -10,13 +10,7 @@ const axiosInstance = axios.create({
     timeout: 600000 * 2,// 请求超时20分钟
 });
 
-// 创建专门用于文件上传的axios实例,超时时间设置为20分钟
-export const uploadAxiosInstance = axios.create({
-    baseURL: config.baseURL,
-    timeout: 20 * 60 * 1000, // 20分钟 
-});
-
-// 默认实例的请求拦截器
+// 请求拦截器
 axiosInstance.interceptors.request.use(
     (config: any) => {
         config.headers = getHeaders();
@@ -27,24 +21,7 @@ axiosInstance.interceptors.request.use(
     }
 );
 
-// 文件上传实例的请求拦截器
-uploadAxiosInstance.interceptors.request.use(
-    (config: any) => {
-        config.headers = {
-            ...config.headers,
-            ...getHeaders(),
-        };
-        if (!navigator.onLine) {
-            message.error('网络故障');
-        }
-        return config;
-    },
-    (error) => {
-        return Promise.reject(error);
-    }
-);
-
-// 默认实例的响应拦截器
+// 响应拦截器
 axiosInstance.interceptors.response.use(
     (response: AxiosResponse) => {// 成功信息
         const { config, data } = response;
@@ -87,47 +64,4 @@ axiosInstance.interceptors.response.use(
     }
 );
 
-// 文件上传实例的响应拦截器
-uploadAxiosInstance.interceptors.response.use(
-    (response: AxiosResponse) => {// 成功信息
-        const { config, data } = response;
-        if (config.responseType === 'blob') {
-            return Promise.resolve(data);
-        } else {
-            if (data.code === 200) {// 成功
-                return Promise.resolve(data);
-            } else {// 失败
-                if (data.code === 401) {
-                    LocalStorage.clear();
-                    router.navigate({ pathname: '/login' }, { replace: true });
-                    message.error('登录过期');
-                    return Promise.reject();
-                } else {
-                    return Promise.reject(data);
-                }
-            }
-        }
-    },
-    (error) => {// 错误信息
-        // HTTP状态码
-        const statusCode = error.response?.status;
-        if (String(error).includes('timeout')) {
-            message.error('请求超时');
-        } else if (statusCode === 504) {
-            // 504网关超时,通常是上传文件超时
-            message.error('请求超时,请稍后重试');
-        } else if (statusCode === 403) {
-            // 403禁止访问,通常是防火墙拦截或内容违规
-            message.error('检测到您的此次提交请求未能通过安全验证,请检查提示词中是否包含特殊符号(如 ` \ $ ), 请调整后重新提交。');
-        } else {
-            if (statusCode < 500) {
-                message.error('请求失败');
-            } else {
-                message.error('服务异常');
-            }
-        }
-        return Promise.reject();
-    }
-);
-
 export default axiosInstance;

+ 4 - 35
src/pages/deepseek/knowledgeLib/detail/drawerIndex.tsx

@@ -21,13 +21,12 @@ import InfoModalSetting from './components/InfoModalSetting';
 import router from '@/router';
 import { Record } from './types';
 import dayjs from 'dayjs';
+import axios from 'axios';
 import LocalStorage from '@/LocalStorage';
 import store from './store';
 import './style.less';
-import { uploadAxiosInstance } from '@/apis/api';
 
 const { Dragger } = Upload;
-
 interface Props{
     drawerItem: any;
 }
@@ -81,38 +80,8 @@ const KnowledgeLibInfo : React.FC<Props> = ({drawerItem}:Props) => {
   const props : UploadProps = {
     name: 'files',
     multiple: true,
-    customRequest: async (options) => {
-      const { file, onSuccess, onError, onProgress } = options;
-      const formData = new FormData();
-      formData.append('files', file as File);
-
-      try {
-        const response = await uploadAxiosInstance.post(
-          `/deepseek/api/uploadDocument/${params.knowledgeId}`,
-          formData,
-          {
-            headers: {
-              'Content-Type': 'multipart/form-data',
-            },
-            onUploadProgress: (progressEvent) => {
-              if (progressEvent.total) {
-                const percent = Math.round((progressEvent.loaded * 100) / progressEvent.total);
-                onProgress?.({ percent });
-              }
-            },
-          }
-        );
-
-        // 处理响应
-        if (response.data && response.data.code === 200) {
-          onSuccess?.(response.data, file as any);
-        } else {
-          onError?.(new Error(response.data?.msg || '上传失败'));
-        }
-      } catch (error: any) {
-        onError?.(error);
-      }
-    },
+    action: '/api/deepseek/api/uploadDocument/' + params.knowledgeId,
+    headers: getHeaders(),
     beforeUpload( file, fileList ) {
       setUploadLoading( true );
       // const allowedExtensions = ['md', 'txt', 'pdf', 'jpg', 'png', 'jpeg', 'docx', 'xlsx', 'pptx', 'eml', 'csv', 'tar', 'gz', 'bz2', 'zip', 'rar', 'jar'];
@@ -232,7 +201,7 @@ const KnowledgeLibInfo : React.FC<Props> = ({drawerItem}:Props) => {
     } );
 
     try {
-      const res = await uploadAxiosInstance.post( '/deepseek/api/uploadDocument/' + params.knowledgeId, formData, {
+      const res = await axios.post( '/api/deepseek/api/uploadDocument/' + params.knowledgeId, formData, {
         headers: { 'Content-Type': 'multipart/form-data' }
       } );
 

+ 4 - 34
src/pages/deepseek/knowledgeLib/detail/index.tsx

@@ -24,10 +24,10 @@ import InfoModalSetting from './components/InfoModalSetting';
 import router from '@/router';
 import { Record } from './types';
 import dayjs from 'dayjs';
+import axios from 'axios';
 import LocalStorage from '@/LocalStorage';
 import store from './store';
 import './style.less';
-import { uploadAxiosInstance } from '@/apis/api';
 
 const { Dragger } = Upload;
 
@@ -80,38 +80,8 @@ const KnowledgeLibInfo : React.FC = () => {
   const props : UploadProps = {
     name: 'files',
     multiple: true,
-    customRequest: async (options) => {
-      const { file, onSuccess, onError, onProgress } = options;
-      const formData = new FormData();
-      formData.append('files', file as File);
-
-      try {
-        const response = await uploadAxiosInstance.post(
-          `/deepseek/api/uploadDocument/${params.knowledgeId}`,
-          formData,
-          {
-            headers: {
-              'Content-Type': 'multipart/form-data',
-            },
-            onUploadProgress: (progressEvent) => {
-              if (progressEvent.total) {
-                const percent = Math.round((progressEvent.loaded * 100) / progressEvent.total);
-                onProgress?.({ percent });
-              }
-            },
-          }
-        );
-
-        // 处理响应
-        if (response.data && response.data.code === 200) {
-          onSuccess?.(response.data, file as any);
-        } else {
-          onError?.(new Error(response.data?.msg || '上传失败'));
-        }
-      } catch (error: any) {
-        onError?.(error);
-      }
-    },
+    action: '/api/deepseek/api/uploadDocument/' + params.knowledgeId,
+    headers: getHeaders(),
     beforeUpload( file, fileList ) {
       setUploadLoading( true );
       // const allowedExtensions = ['md', 'txt', 'pdf', 'jpg', 'png', 'jpeg', 'docx', 'xlsx', 'pptx', 'eml', 'csv', 'tar', 'gz', 'bz2', 'zip', 'rar', 'jar'];
@@ -230,7 +200,7 @@ const KnowledgeLibInfo : React.FC = () => {
     } );
 
     try {
-      const res = await uploadAxiosInstance.post( '/deepseek/api/uploadDocument/' + params.knowledgeId, formData, {
+      const res = await axios.post( '/api/deepseek/api/uploadDocument/' + params.knowledgeId, formData, {
         headers: { 'Content-Type': 'multipart/form-data' }
       } );