From e61c9a6def95c37bc85b502bbec9f722f2b3f40b Mon Sep 17 00:00:00 2001 From: TL Date: Fri, 17 Mar 2023 16:45:51 +0800 Subject: [PATCH] =?UTF-8?q?=E9=94=99=E8=AF=AF=E5=A4=84=E7=90=86?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit wip --- .../Http/Controllers/AttributeController.php | 93 +++++++++++++------ .../Controllers/AttributeGroupController.php | 35 +++++-- .../pages/attribute_group/index.blade.php | 7 +- .../views/pages/attributes/index.blade.php | 8 +- 4 files changed, 105 insertions(+), 38 deletions(-) diff --git a/beike/Admin/Http/Controllers/AttributeController.php b/beike/Admin/Http/Controllers/AttributeController.php index c40c4c6d..a630b26b 100644 --- a/beike/Admin/Http/Controllers/AttributeController.php +++ b/beike/Admin/Http/Controllers/AttributeController.php @@ -17,21 +17,26 @@ use Beike\Admin\Http\Resources\AttributeValueResource; use Beike\Admin\Http\Resources\AutocompleteResource; use Beike\Admin\Repositories\AttributeGroupRepo; use Beike\Admin\Repositories\AttributeRepo; +use Exception; use Illuminate\Http\Request; class AttributeController extends Controller { public function index(Request $request) { - $attributes = AttributeRepo::getList(); - $data = [ - 'attribute_list' => $attributes, - 'attribute_list_format' => AttributeResource::collection($attributes), - 'attribute_group' => AttributeGroupRepo::getList(), - ]; - $data = hook_filter('admin.attribute.index.data', $data); - if ($request->expectsJson()) { - return json_success(trans('success'), $data); + try { + $attributes = AttributeRepo::getList(); + $data = [ + 'attribute_list' => $attributes, + 'attribute_list_format' => AttributeResource::collection($attributes), + 'attribute_group' => AttributeGroupRepo::getList(), + ]; + $data = hook_filter('admin.attribute.index.data', $data); + if ($request->expectsJson()) { + return json_success(trans('success'), $data); + } + } catch (Exception $e) { + return view('admin::pages.attributes.index', $data)->withErrors(['error' => $e->getMessage()]); } return view('admin::pages.attributes.index', $data); @@ -39,71 +44,107 @@ class AttributeController extends Controller public function show(Request $request, int $id) { - $data = [ - 'attribute' => (new AttributeDetailResource(AttributeRepo::find($id)))->jsonSerialize(), - 'attribute_group' => AttributeGroupRepo::getList(), - ]; - $data = hook_filter('admin.attribute.show.data', $data); + try { + $data = [ + 'attribute' => (new AttributeDetailResource(AttributeRepo::find($id)))->jsonSerialize(), + 'attribute_group' => AttributeGroupRepo::getList(), + ]; + $data = hook_filter('admin.attribute.show.data', $data); + } catch (Exception $e) { + return view('admin::pages.attributes.form', $data)->withErrors(['error' => $e->getMessage()]); + } return view('admin::pages.attributes.form', $data); } public function store(Request $request) { - $requestData = json_decode($request->getContent(), true); - $item = AttributeRepo::create($requestData); + try { + $requestData = json_decode($request->getContent(), true); + $item = AttributeRepo::create($requestData); + } catch (Exception $e) { + return json_fail($e->getMessage(), []); + } return json_success(trans('common.created_success'), $item); } public function update(Request $request, int $id) { - $requestData = json_decode($request->getContent(), true); - $item = AttributeRepo::update($id, $requestData); + try { + $requestData = json_decode($request->getContent(), true); + $item = AttributeRepo::update($id, $requestData); + } catch (Exception $e) { + return json_fail($e->getMessage(), []); + } return json_success(trans('common.updated_success'), $item); } public function storeValue(Request $request, int $id) { - $requestData = json_decode($request->getContent(), true); - $item = AttributeRepo::createValue(array_merge($requestData, ['attribute_id' => $id])); + try { + $requestData = json_decode($request->getContent(), true); + $item = AttributeRepo::createValue(array_merge($requestData, ['attribute_id' => $id])); + } catch (Exception $e) { + return json_fail($e->getMessage(), []); + } return json_success(trans('common.created_success'), new AttributeValueResource($item)); } public function updateValue(Request $request, int $id, int $value_id) { - $requestData = json_decode($request->getContent(), true); - $item = AttributeRepo::updateValue($value_id, $requestData); + try { + $requestData = json_decode($request->getContent(), true); + $item = AttributeRepo::updateValue($value_id, $requestData); + } catch (Exception $e) { + return json_fail($e->getMessage(), []); + } return json_success(trans('common.updated_success'), new AttributeValueResource($item)); } public function destroyValue(Request $request, int $id, int $value_id) { - AttributeRepo::deleteValue($value_id); + try { + AttributeRepo::deleteValue($value_id); + } catch (Exception $e) { + return json_fail($e->getMessage(), []); + } return json_success(trans('common.deleted_success')); } public function destroy(Request $request, int $id) { - AttributeRepo::delete($id); + try { + AttributeRepo::delete($id); + } catch (Exception $e) { + return json_fail($e->getMessage(), []); + } return json_success(trans('common.deleted_success')); } public function autocomplete(Request $request): array { - $items = AttributeRepo::autocomplete($request->get('name') ?? '', 0); + try { + $items = AttributeRepo::autocomplete($request->get('name') ?? '', 0); + } catch (Exception $e) { + return json_fail($e->getMessage(), []); + } return json_success(trans('common.get_success'), AutocompleteResource::collection($items)); } public function autocompleteValue(Request $request, int $id): array { - $items = AttributeRepo::autocompleteValue($id, $request->get('name') ?? ''); + try { + $items = AttributeRepo::autocompleteValue($id, $request->get('name') ?? ''); + } catch (Exception $e) { + return json_fail($e->getMessage(), []); + } return json_success(trans('common.get_success'), AutocompleteResource::collection($items)); } diff --git a/beike/Admin/Http/Controllers/AttributeGroupController.php b/beike/Admin/Http/Controllers/AttributeGroupController.php index b30851d1..1102a508 100644 --- a/beike/Admin/Http/Controllers/AttributeGroupController.php +++ b/beike/Admin/Http/Controllers/AttributeGroupController.php @@ -12,39 +12,56 @@ namespace Beike\Admin\Http\Controllers; use Beike\Admin\Repositories\AttributeGroupRepo; +use Exception; use Illuminate\Http\Request; class AttributeGroupController extends Controller { public function index() { - $data = [ - 'attribute_groups' => AttributeGroupRepo::getList(), - ]; - $data = hook_filter('admin.attribute_group.index.data', $data); + try { + $data = [ + 'attribute_groups' => AttributeGroupRepo::getList(), + ]; + $data = hook_filter('admin.attribute_group.index.data', $data); + } catch (Exception $e) { + return view('admin::pages.attribute_group.index', $data)->withErrors(['error' => $e->getMessage()]); + } return view('admin::pages.attribute_group.index', $data); } public function store(Request $request) { - $requestData = json_decode($request->getContent(), true); - $item = AttributeGroupRepo::create($requestData); + try { + $requestData = json_decode($request->getContent(), true); + $item = AttributeGroupRepo::create($requestData); + } catch (Exception $e) { + return json_fail($e->getMessage(), []); + } return json_success(trans('common.created_success'), $item); } public function update(Request $request, int $id) { - $requestData = json_decode($request->getContent(), true); - $item = AttributeGroupRepo::update($id, $requestData); + try { + $requestData = json_decode($request->getContent(), true); + $item = AttributeGroupRepo::update($id, $requestData); + } catch (Exception $e) { + return json_fail($e->getMessage(), []); + } return json_success(trans('common.updated_success'), $item); } public function destroy(Request $request, int $id) { - AttributeGroupRepo::delete($id); + try { + AttributeGroupRepo::delete($id); + } catch (Exception $e) { + return json_fail($e->getMessage(), []); + } return json_success(trans('common.deleted_success')); } diff --git a/resources/beike/admin/views/pages/attribute_group/index.blade.php b/resources/beike/admin/views/pages/attribute_group/index.blade.php index 46cd444f..d694a879 100644 --- a/resources/beike/admin/views/pages/attribute_group/index.blade.php +++ b/resources/beike/admin/views/pages/attribute_group/index.blade.php @@ -143,7 +143,12 @@ type: 'warning' }).then(() => { $http.delete('attribute_groups/' + id).then((res) => { - this.$message.success(res.message); + if (res.status == 'fail') { + layer.msg(res.message,()=>{}) + return; + } + + layer.msg(res.message) self.attribute_groups.splice(index, 1) }) }).catch(()=>{}) diff --git a/resources/beike/admin/views/pages/attributes/index.blade.php b/resources/beike/admin/views/pages/attributes/index.blade.php index 435fe1d8..e3a05ff6 100644 --- a/resources/beike/admin/views/pages/attributes/index.blade.php +++ b/resources/beike/admin/views/pages/attributes/index.blade.php @@ -166,9 +166,13 @@ type: 'warning' }).then(() => { $http.delete(`attributes/${id}`).then((res) => { - self.$message.success(res.message); + if (res.status == 'fail') { + layer.msg(res.message,()=>{}) + return; + } + + layer.msg(res.message) window.location.reload(); - // self.customers.splice(index, 1) }) }).catch(()=>{}) },