From fa48875dded5b0a67f7cc5da8d983ab7a8abb39c Mon Sep 17 00:00:00 2001 From: TL Date: Wed, 29 Jun 2022 18:07:07 +0800 Subject: [PATCH] =?UTF-8?q?=E5=89=8D=E5=8F=B0=E9=A1=BE=E5=AE=A2=E4=B8=AA?= =?UTF-8?q?=E4=BA=BA=E4=B8=AD=E5=BF=83=E5=9C=B0=E5=9D=80=E7=AE=A1=E7=90=86?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Http/Controllers/AddressController.php | 13 +++++---- .../Controllers/account/AddressController.php | 2 +- .../Shop/Http/Resources/CustomerResource.php | 29 +++++++++++++++++++ beike/Shop/Routes/shop.php | 3 ++ themes/default/account/address.blade.php | 11 +++++++ 5 files changed, 52 insertions(+), 6 deletions(-) create mode 100644 beike/Shop/Http/Resources/CustomerResource.php create mode 100644 themes/default/account/address.blade.php diff --git a/beike/Admin/Http/Controllers/AddressController.php b/beike/Admin/Http/Controllers/AddressController.php index 778c73b5..dbfff304 100644 --- a/beike/Admin/Http/Controllers/AddressController.php +++ b/beike/Admin/Http/Controllers/AddressController.php @@ -34,18 +34,21 @@ class AddressController extends Controller { $data = $request->only(['name', 'phone', 'country_id', 'state_id', 'state', 'city_id', 'city', 'zipcode', 'address_1', 'address_2']); $data['customer_id'] = $customerId; - return AddressRepo::create($data); + $address = AddressRepo::create($data); + return json_success("地址创建成功", $address); } public function update(Request $request, int $customerId, int $addressId) { - return AddressRepo::update($addressId, $request->only(['name', 'phone', 'country_id', 'state_id', 'state', 'city_id', 'city', 'zipcode', 'address_1', 'address_2'])); + $address = AddressRepo::update($addressId, $request->only(['name', 'phone', 'country_id', 'state_id', 'state', 'city_id', 'city', 'zipcode', 'address_1', 'address_2'])); + + return json_success("地址成功修改", $address); } - public function destroy(Request $request, int $customerId) + public function destroy(Request $request, int $addressId) { - CustomerRepo::delete($customerId); + AddressRepo::delete($addressId); - return ['success' => true]; + return json_success("已成功删除"); } } diff --git a/beike/Shop/Http/Controllers/account/AddressController.php b/beike/Shop/Http/Controllers/account/AddressController.php index b9c7772e..7445e795 100644 --- a/beike/Shop/Http/Controllers/account/AddressController.php +++ b/beike/Shop/Http/Controllers/account/AddressController.php @@ -26,7 +26,7 @@ class AddressController extends Controller 'addresses' => CustomerResource::collection($addresses), ]; - return $data; + return view('account/address', $data); } public function store(Request $request) diff --git a/beike/Shop/Http/Resources/CustomerResource.php b/beike/Shop/Http/Resources/CustomerResource.php new file mode 100644 index 00000000..62193e0f --- /dev/null +++ b/beike/Shop/Http/Resources/CustomerResource.php @@ -0,0 +1,29 @@ + $this->id, + 'name' => $this->name, + 'email' => $this->email, + 'status' => $this->status ? '启用' : '禁用', + 'avatar' => image_resize($this->avatar), + 'from' => $this->from, + 'customer_group_name' => $this->customer_group_name, + ]; + + return $data; + } +} diff --git a/beike/Shop/Routes/shop.php b/beike/Shop/Routes/shop.php index 13b29814..44c06df1 100644 --- a/beike/Shop/Routes/shop.php +++ b/beike/Shop/Routes/shop.php @@ -1,6 +1,7 @@ group(function () { Route::get('account', [AccountController::class, 'index'])->name('account.index'); + + Route::resource('account/addresses', AddressController::class); }); Route::get('/{url_key}', [PagesController::class, 'show'])->name('pages.show'); diff --git a/themes/default/account/address.blade.php b/themes/default/account/address.blade.php new file mode 100644 index 00000000..226df542 --- /dev/null +++ b/themes/default/account/address.blade.php @@ -0,0 +1,11 @@ +@extends('layout.master') + +@section('content') +
+

我的地址

+ @foreach ($addresses as $address) +
{{ $address->name }}
+ @endforeach + +
+@endsection