*/ namespace app\util; use app\model\AdminMenu; use think\facade\Env; class RouterTool { /** * 构建后端路由 * @author zhaoxiang */ public static function buildAdminRouter() { $methodArr = ['*', 'get', 'post', 'put', 'delete']; $routePath = Env::get('route_path') . 'route.php'; $bakPath = Env::get('route_path') . 'route.php.bak'; if (file_exists($bakPath)) { unlink($bakPath); } if (file_exists($routePath)) { rename($routePath, $bakPath); } $context = ' 1]); if ($menus) { foreach ($menus as $menu) { if ($menu['url']) { $context .= "Route::rule('{$menu['url']}', '{$menu['url']}', '". $methodArr[$menu['method']] . "')". self::getAdminMiddleware($menu) . PHP_EOL; } } } file_put_contents($routePath, $context); } public static function buildVueRouter() { } /** * 构建菜单权限细节 * @param $menu * @return string * @author zhaoxiang */ private static function getAdminMiddleware($menu) { $middle = ['AdminResponse']; if ($menu['log']) { array_unshift($middle,'AdminLog'); } if ($menu['permission']) { array_unshift($middle,'AdminPermission'); } if ($menu['auth']) { array_unshift($middle,'AdminAuth'); } return '->middleware(["' . implode('", "', $middle) . '"]);'; } }