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