From c5db127ed8bd5e9960afe8e2df0b5cd361b2dfc1 Mon Sep 17 00:00:00 2001
From: gaoluyang <2820782392@qq.com>
Date: 星期五, 17 七月 2026 15:31:55 +0800
Subject: [PATCH] 银川 1.客户管理选择框复用组件应用

---
 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