Forráskód Böngészése

fix 修复 路由守卫白名单通配符正则覆盖问题

QianRj 2 hónapja
szülő
commit
fb7bca27eb
1 módosított fájl, 7 hozzáadás és 3 törlés
  1. 7 3
      src/utils/validate.ts

+ 7 - 3
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);
 }
 
 /**