Prechádzať zdrojové kódy

1、优化文件上传 2、修正redis初始化bug 3、其他优化

zuohuaijun 4 rokov pred
rodič
commit
eb19a0c1d5

+ 10 - 5
Admin.NET/Admin.NET.Core/Admin.NET.Core.xml

@@ -4027,27 +4027,32 @@
         </member>
         <member name="P:Admin.NET.Core.Service.FileOutput.Id">
             <summary>
-            文件ID
+            Id
             </summary>
         </member>
         <member name="P:Admin.NET.Core.Service.FileOutput.Name">
             <summary>
-            文件名称
+            名称
             </summary>
         </member>
         <member name="P:Admin.NET.Core.Service.FileOutput.Url">
             <summary>
-            文件URL
+            URL
             </summary>
         </member>
         <member name="P:Admin.NET.Core.Service.FileOutput.SizeKb">
             <summary>
-            文件大小
+            大小
             </summary>
         </member>
         <member name="P:Admin.NET.Core.Service.FileOutput.Suffix">
             <summary>
-            文件后缀
+            后缀
+            </summary>
+        </member>
+        <member name="P:Admin.NET.Core.Service.FileOutput.FilePath">
+            <summary>
+            路径
             </summary>
         </member>
         <member name="P:Admin.NET.Core.Service.MapperSysFileOutput.Id">

+ 0 - 2
Admin.NET/Admin.NET.Core/Cache/CSRedisSetup.cs

@@ -24,9 +24,7 @@ namespace Admin.NET.Core
                     var redisStr = $"{cacheOptions.RedisConnectionString},prefix={cacheOptions.InstanceName}";
 
                     var redis = new CSRedisClient(redisStr);
-                    services.AddSingleton(redis);
                     RedisHelper.Initialization(redis);
-
                     return new CSRedisCache(redis);
                 }
                 else // 默认使用内存

+ 16 - 6
Admin.NET/Admin.NET.Core/Service/File/Dto/FileOutput.cs

@@ -5,30 +5,40 @@ namespace Admin.NET.Core.Service
     public class FileOutput
     {
         /// <summary>
-        /// 文件ID
+        /// Id
         /// </summary>
         public long Id { get; set; }
 
         /// <summary>
-        /// 文件名称
+        /// 名称
         /// </summary>
         public string Name
-        { get { return this.Id + this.Suffix; } }
+        {
+            get
+            {
+                return this.Id + this.Suffix;
+            }
+        }
 
         /// <summary>
-        /// 文件URL
+        /// URL
         /// </summary>
         public string Url { get; set; }
 
         /// <summary>
-        /// 文件大小
+        /// 大小
         /// </summary>
         public string SizeKb { get; set; }
 
         /// <summary>
-        /// 文件后缀
+        /// 后缀
         /// </summary>
         public string Suffix { get; set; }
+
+        /// <summary>
+        /// 路径
+        /// </summary>
+        public string FilePath { get; set; }
     }
 
     [SugarTable("sys_file")]

+ 3 - 0
Admin.NET/Admin.NET.Core/Service/File/SysFileService.cs

@@ -86,6 +86,7 @@ namespace Admin.NET.Core.Service
                 Url = _commonService.GetFileUrl(sysFile),
                 SizeKb = sysFile.SizeKb,
                 Suffix = sysFile.Suffix,
+                FilePath = sysFile.FilePath,
             };
         }
 
@@ -157,6 +158,8 @@ namespace Admin.NET.Core.Service
         /// <returns></returns>
         private async Task<SysFile> HandleUploadFile(IFormFile file)
         {
+            if(file == null) throw Oops.Oh(ErrorCodeEnum.D8000);
+
             string path = _uploadOptions.Path;
 
             if (!_uploadOptions.ContentType.Contains(file.ContentType))

+ 2 - 18
Vben2/src/api/sys/admin.ts

@@ -232,24 +232,8 @@ export const clearExLog = () => defHttp.post({ url: Api.ClearExLog });
 export const getFilePageList = (params?: any) =>
   defHttp.get<any>({ url: Api.FilePageList, params });
 // 上传文件
-import { UploadApiResult } from './model/uploadModel';
-import { UploadFileParams } from '/#/axios';
-import { useGlobSetting } from '/@/hooks/setting';
-const { uploadUrl = '' } = useGlobSetting();
-
-export function uploadFile(
-  params: UploadFileParams,
-  onUploadProgress: (progressEvent: ProgressEvent) => void,
-) {
-  return defHttp.uploadFile<UploadApiResult>(
-    {
-      url: uploadUrl + Api.UploadFile,
-      onUploadProgress,
-    },
-    params,
-  );
-}
-
+import { uploadFileApi } from '/@/api/sys/upload';
+export const uploadFile = uploadFileApi;
 // 下载文件
 export const downloadFile = (id: number) => defHttp.post({ url: Api.DownloadFile, params: { id } });
 // 删除文件

+ 28 - 0
Vben2/src/api/sys/upload.ts

@@ -20,3 +20,31 @@ export function uploadApi(
     params,
   );
 }
+
+// 系统默认文件上传接口
+export function uploadFileApi(
+  params: UploadFileParams,
+  onUploadProgress: (progressEvent: ProgressEvent) => void,
+) {
+  return defHttp.uploadFile<UploadApiResult>(
+    {
+      url: uploadUrl + '/sysFile/upload',
+      onUploadProgress,
+    },
+    params,
+  );
+}
+
+// 上传登记数据文件接口
+export function uploadFileApi_sign(
+  params: UploadFileParams,
+  onUploadProgress: (progressEvent: ProgressEvent) => void,
+) {
+  return defHttp.uploadFile<UploadApiResult>(
+    {
+      url: uploadUrl + '/personSign/import',
+      onUploadProgress,
+    },
+    params,
+  );
+}

+ 2 - 2
Vben2/src/views/sys/admin/file/index.vue

@@ -56,7 +56,7 @@
     setup() {
       const { hasPermission } = usePermission();
       const { createMessage } = useMessage();
-      const [registerTable, { deleteTableDataRecord }] = useTable({
+      const [registerTable, { reload, deleteTableDataRecord }] = useTable({
         title: '文件列表',
         api: getFilePageList,
         columns,
@@ -95,7 +95,6 @@
       }
 
       async function handleDelete(record: Recordable) {
-        console.log(record);
         await deleteFile(record.id);
         deleteTableDataRecord(record.id);
       }
@@ -105,6 +104,7 @@
         handleDownload,
         handleDelete,
         handleChange: (fileList) => {
+          reload();
           createMessage.info(`已上传文件${JSON.stringify(fileList)}`);
         },
         uploadFile,