From a93c8b7bf6ab57841c4a371abd59662a8c399995 Mon Sep 17 00:00:00 2001 From: zhiyu1998 Date: Sun, 1 Dec 2024 16:28:21 +0800 Subject: [PATCH] =?UTF-8?q?=E2=9C=A8=20feat:=20=E6=9B=B4=E6=96=B0=20splitP?= =?UTF-8?q?aths=20=E5=87=BD=E6=95=B0=E6=96=87=E6=A1=A3=EF=BC=8C=E5=A2=9E?= =?UTF-8?q?=E5=BC=BA=E8=B7=AF=E5=BE=84=E8=A7=A3=E6=9E=90=E5=8A=9F=E8=83=BD?= =?UTF-8?q?=E8=AF=B4=E6=98=8E?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- utils/file.js | 29 +++++++++++++++++++++-------- 1 file changed, 21 insertions(+), 8 deletions(-) diff --git a/utils/file.js b/utils/file.js index 060403e..14d7e69 100644 --- a/utils/file.js +++ b/utils/file.js @@ -204,14 +204,27 @@ export async function getMediaFilesAndOthers(folderPath) { } /** - * 将输入统一为数组形式,方便处理单个和多个路径 - * @param {string|string[]} input - 一个或多个文件路径 - * - * fileName:文件的完整名称,包括文件名和扩展名 - * extension:文件的扩展名 - * dir:文件所在的目录路径 - * baseFileName:不包含扩展名的文件名 - * @returns {{fileName: string, extension: string, dir: string, baseFileName: string}[]} - 一个包含文件信息的对象数组 + * 将文件路径解析为标准格式 + * @param {string|string[]} input - 输入的文件路径,支持单个字符串路径或路径数组 + * @returns {Array} 返回解析后的文件信息数组,每个对象包含: + * - dir: 文件所在目录的完整路径 + * - fileName: 完整的文件名(包含扩展名) + * - extension: 文件扩展名(如 .js、.txt 等) + * - baseFileName: 不含扩展名的文件名 + * + * @example + * // 单个文件路径 + * splitPaths('/root/test.txt') + * // 返回: [{ + * // dir: '/root', + * // fileName: 'test.txt', + * // extension: '.txt', + * // baseFileName: 'test' + * // }] + * + * // 多个文件路径 + * splitPaths(['/root/a.js', '/root/b.css']) + * @returns {{fileName: string, extension: string, dir: string, baseFileName: string}[]} 返回一个包含文件信息的对象数组 */ export function splitPaths(input) { const paths = Array.isArray(input) ? input : [input];