소스 검색

屏蔽pdf导出

qinchaoyue 6 달 전
부모
커밋
813768a4ea

+ 1 - 1
src/Hotline.Api/Controllers/KnowledgeController.cs

@@ -591,7 +591,7 @@ namespace Hotline.Api.Controllers
             };
 
             return _baseDataApplication
-                .FileType(0)
+                .FileType(EFileType.excel | EFileType.pdf)
                 .Add("tabNames", tabNames)
                 .Build();
         }

+ 5 - 2
src/Hotline.Application/Systems/BaseDataApplication.cs

@@ -151,10 +151,13 @@ public class BaseDataApplication : IScopeDependency
         return this;
     }
 
-    public BaseDataApplication FileType(int ignoreKey)
+    public BaseDataApplication FileType(EFileType ignoreFileType)
     {
         var items = EnumExts.GetDescriptions<EFileType>();
-        _baseData.TryAdd("FileType", items.Where(m => m.Key != ignoreKey).ToList());
+        var filteredDictionary = items
+             .Where(kvp => (ignoreFileType & (EFileType)kvp.Key) == 0)
+             .ToDictionary(kvp => kvp.Key, kvp => kvp.Value);
+        _baseData.TryAdd("FileType", filteredDictionary);
         return this;
     }
 

+ 7 - 4
src/Hotline.Share/Enums/Article/EFileType.cs

@@ -2,15 +2,19 @@
 using System.ComponentModel;
 
 namespace Hotline.Share.Enums.Article;
+
+[Flags]
 public enum EFileType
 {
+    None = 0, 
+
     /// <summary>
     /// Excel文件
     /// </summary>
     [Description("导出Excel")]
     [FileExtension(".xlsx")]
     [ContentType("application/vnd.openxmlformats-officedocument.spreadsheetml.sheet")]
-    excel,
+    excel = 1,
 
     /// <summary>
     /// Word文件
@@ -18,8 +22,7 @@ public enum EFileType
     [Description("导出Word")]
     [FileExtension(".docx")]
     [ContentType("application/vnd.openxmlformats-officedocument.wordprocessingml.document")]
-    word,
-
+    word = 2,
 
     /// <summary>
     /// PDF文件
@@ -27,5 +30,5 @@ public enum EFileType
     [Description("导出PDF")]
     [FileExtension(".pdf")]
     [ContentType("application/pdf")]
-    pdf,
+    pdf = 4,
 }