From fb7bca27eb17aedf33fe5a1e9be63eb43ec299eb Mon Sep 17 00:00:00 2001
From: QianRj <14974713+qianrj@user.noreply.gitee.com>
Date: 星期四, 06 二月 2025 20:20:40 +0800
Subject: [PATCH] fix 修复 路由守卫白名单通配符正则覆盖问题
---
src/utils/validate.ts | 10 +++++++---
1 files changed, 7 insertions(+), 3 deletions(-)
diff --git a/src/utils/validate.ts b/src/utils/validate.ts
index 788095c..e2886e4 100644
--- a/src/utils/validate.ts
+++ b/src/utils/validate.ts
@@ -5,9 +5,13 @@
* @returns {Boolean}
*/
export function isPathMatch(pattern: string, path: string) {
- const regexPattern = pattern.replace(/\//g, '\\/').replace(/\*\*/g, '.*').replace(/\*/g, '[^\\/]*')
- const regex = new RegExp(`^${regexPattern}$`)
- return regex.test(path)
+ const regexPattern = pattern
+ .replace(/\//g, '\\/')
+ .replace(/\*\*/g, '__DOUBLE_STAR__')
+ .replace(/\*/g, '[^\\/]*')
+ .replace(/__DOUBLE_STAR__/g, '.*');
+ const regex = new RegExp(`^${regexPattern}$`);
+ return regex.test(path);
}
/**
--
Gitblit v1.9.3