diff --git a/beike/Admin/Http/Controllers/Controller.php b/beike/Admin/Http/Controllers/Controller.php index b7d06029..0d189118 100644 --- a/beike/Admin/Http/Controllers/Controller.php +++ b/beike/Admin/Http/Controllers/Controller.php @@ -2,6 +2,7 @@ namespace Beike\Admin\Http\Controllers; +use Illuminate\Support\Facades\Route; use App\Http\Controllers\Controller as BaseController; abstract class Controller extends BaseController @@ -10,10 +11,25 @@ abstract class Controller extends BaseController /** * 表单页面获跳转页面链接 - * @return array|\Illuminate\Contracts\Foundation\Application|\Illuminate\Http\Request|string|null + * @return mixed */ public function getRedirect() { + if (empty($this->defaultRoute)) { + $this->defaultRoute = $this->getDefaultRoute(); + } return request('_redirect') ?? request()->header('referer', admin_route($this->defaultRoute)); } + + /** + * 获取当前管理界面列表页路由 + * @return string + */ + private function getDefaultRoute(): string + { + $currentRouteName = Route::getCurrentRoute()->getName(); + $names = explode('.', $currentRouteName); + $name = $names[1] ?? ''; + return "{$name}.index"; + } }