From 7619c19a67c2ac824f803090bab753fc5ea14408 Mon Sep 17 00:00:00 2001
From: zhangwencui <1064582902@qq.com>
Date: 星期四, 16 七月 2026 12:01:49 +0800
Subject: [PATCH] 工作台完善

---
 src/packages/@core/base/shared/src/utils/upload.ts |   28 ++++++++++++++++++++++++++++
 1 files changed, 28 insertions(+), 0 deletions(-)

diff --git a/src/packages/@core/base/shared/src/utils/upload.ts b/src/packages/@core/base/shared/src/utils/upload.ts
index 57718b4..e25e83a 100644
--- a/src/packages/@core/base/shared/src/utils/upload.ts
+++ b/src/packages/@core/base/shared/src/utils/upload.ts
@@ -196,6 +196,34 @@
 }
 
 /**
+ * 棰勮鏂囦欢绫诲瀷
+ */
+export type PreviewFileType =
+  | 'docx'
+  | 'excel'
+  | 'image'
+  | 'pdf'
+  | 'pptx'
+  | 'unknown';
+
+/**
+ * 鏍规嵁鏂囦欢鍚嶅垽鏂瑙堟枃浠剁被鍨�
+ *
+ * @param filename 鏂囦欢鍚嶆垨 URL
+ * @returns 棰勮鏂囦欢绫诲瀷
+ */
+export function getFileType(filename: null | string | undefined): PreviewFileType {
+  if (!filename) return 'unknown';
+  const ext = filename.split('.').pop()?.toLowerCase() || '';
+  if (isImage(ext)) return 'image';
+  if (ext === 'pdf') return 'pdf';
+  if (['doc', 'docx'].includes(ext)) return 'docx';
+  if (['xls', 'xlsx'].includes(ext)) return 'excel';
+  if (['ppt', 'pptx'].includes(ext)) return 'pptx';
+  return 'unknown';
+}
+
+/**
  * 鑾峰彇鏂囦欢鍥炬爣锛圠ucide Icons锛�
  *
  * @param filename 鏂囦欢鍚�

--
Gitblit v1.9.3