From 2bee77437cec5bbf5f52a9a58ee20a84a5aae600 Mon Sep 17 00:00:00 2001 From: Edward Yang Date: Tue, 16 Aug 2022 15:52:06 +0800 Subject: [PATCH] page title --- .../Http/Controllers/PagesController.php | 60 ++++++++++++++++--- beike/Admin/Http/Requests/PageRequest.php | 43 +++++++++++++ .../admin/views/pages/pages/form.blade.php | 1 + 3 files changed, 95 insertions(+), 9 deletions(-) create mode 100644 beike/Admin/Http/Requests/PageRequest.php diff --git a/beike/Admin/Http/Controllers/PagesController.php b/beike/Admin/Http/Controllers/PagesController.php index b97a34b4..e3083509 100644 --- a/beike/Admin/Http/Controllers/PagesController.php +++ b/beike/Admin/Http/Controllers/PagesController.php @@ -11,14 +11,20 @@ namespace Beike\Admin\Http\Controllers; +use Beike\Admin\Http\Requests\PageRequest; use Beike\Models\Page; -use Beike\Repositories\ProductRepo; -use Beike\Shop\Http\Resources\PageDetail; use Illuminate\Http\Request; +use Illuminate\Http\RedirectResponse; use Beike\Admin\Repositories\PageRepo; +use Beike\Shop\Http\Resources\PageDetail; class PagesController { + /** + * 显示单页列表 + * + * @return mixed + */ public function index() { $pageList = PageRepo::getList(); @@ -29,11 +35,37 @@ class PagesController return view('admin::pages.pages.index', $data); } + + /** + * 创建页面 + * + * @return mixed + */ public function create() { return view('admin::pages.pages.form', ['page' => new Page()]); } + + /** + * 保存新建 + * + * @param PageRequest $request + * @return RedirectResponse + */ + public function store(PageRequest $request) + { + $requestData = $request->all(); + PageRepo::createOrUpdate($requestData); + return redirect()->to(admin_route('pages.index')); + } + + + /** + * @param Request $request + * @param int $pageId + * @return mixed + */ public function edit(Request $request, int $pageId) { $data = [ @@ -43,14 +75,15 @@ class PagesController return view('admin::pages.pages.form', $data); } - public function store(Request $request) - { - $requestData = $request->all(); - PageRepo::createOrUpdate($requestData); - return redirect()->to(admin_route('pages.index')); - } - public function update(Request $request, int $pageId) + /** + * 保存更新 + * + * @param PageRequest $request + * @param int $pageId + * @return RedirectResponse + */ + public function update(PageRequest $request, int $pageId) { $requestData = $request->all(); $requestData['id'] = $pageId; @@ -58,12 +91,21 @@ class PagesController return redirect()->to(admin_route('pages.index')); } + + /** + * 删除单页 + * + * @param Request $request + * @param int $pageId + * @return RedirectResponse + */ public function destroy(Request $request, int $pageId) { PageRepo::deleteById($pageId); return redirect()->to(admin_route('pages.index')); } + /** * 搜索页面标题自动完成 * @param Request $request diff --git a/beike/Admin/Http/Requests/PageRequest.php b/beike/Admin/Http/Requests/PageRequest.php new file mode 100644 index 00000000..45610f79 --- /dev/null +++ b/beike/Admin/Http/Requests/PageRequest.php @@ -0,0 +1,43 @@ + + * @created 2022-08-15 18:58:20 + * @modified 2022-08-15 18:58:20 + */ + +namespace Beike\Admin\Http\Requests; + +use Illuminate\Foundation\Http\FormRequest; + +class PageRequest extends FormRequest +{ + /** + * Determine if the user is authorized to make this request. + * + * @return bool + */ + public function authorize(): bool + { + return true; + } + + /** + * Get the validation rules that apply to the request. + * + * @return array + */ + public function rules(): array + { + $rules = [ + 'descriptions.*.title' => 'required|string', + 'descriptions.*.content' => 'required|string', + 'descriptions.*.locale' => 'required|string', + ]; + + return $rules; + } +} diff --git a/resources/beike/admin/views/pages/pages/form.blade.php b/resources/beike/admin/views/pages/pages/form.blade.php index e223c5b5..f08412b2 100644 --- a/resources/beike/admin/views/pages/pages/form.blade.php +++ b/resources/beike/admin/views/pages/pages/form.blade.php @@ -7,6 +7,7 @@ @endpush @section('content') + @dump($errors)