Эх сурвалжийг харах

!181 fix 修复 路由守卫白名单通配符正则覆盖问题
Merge pull request !181 from QianRj/dev

疯狂的狮子Li 2 сар өмнө
parent
commit
2155d9f4b0
1 өөрчлөгдсөн 7 нэмэгдсэн , 3 устгасан
  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);
 }
 
 /**