Procházet zdrojové kódy

权限表单http_path字段的路由选项读取优化

jqh před 5 roky
rodič
revize
07364299e9
1 změnil soubory, kde provedl 14 přidání a 2 odebrání
  1. 14 2
      src/Controllers/PermissionController.php

+ 14 - 2
src/Controllers/PermissionController.php

@@ -141,13 +141,25 @@ class PermissionController extends AdminController
     {
         $prefix = config('admin.route.prefix');
 
-        return collect(app('router')->getRoutes())->map(function ($route) use ($prefix) {
+        $container = collect();
+
+        $routes = collect(app('router')->getRoutes())->map(function ($route) use ($prefix, $container) {
             if (! Str::startsWith($uri = $route->uri(), $prefix)) {
                 return;
             }
 
+            if (! Str::contains($uri, '{')) {
+                $route = Str::replaceFirst($prefix, '', $uri.'*');
+
+                if ($route !== '*') {
+                    $container->push($route);
+                }
+            }
+
             return Str::replaceFirst($prefix, '', preg_replace('/{.*}+/', '*', $uri));
-        })->filter()->all();
+        });
+
+        return $container->merge($routes)->filter()->all();
     }
 
     /**