前台顾客个人中心地址管理

This commit is contained in:
TL 2022-06-29 18:07:07 +08:00
parent 15f69a283f
commit fa48875dde
5 changed files with 52 additions and 6 deletions

View File

@ -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("已成功删除");
}
}

View File

@ -26,7 +26,7 @@ class AddressController extends Controller
'addresses' => CustomerResource::collection($addresses),
];
return $data;
return view('account/address', $data);
}
public function store(Request $request)

View File

@ -0,0 +1,29 @@
<?php
namespace Beike\Shop\Http\Resources;
use Illuminate\Http\Resources\Json\JsonResource;
class CustomerResource extends JsonResource
{
/**
* Transform the resource into an array.
*
* @param \Illuminate\Http\Request $request
* @return array|\Illuminate\Contracts\Support\Arrayable|\JsonSerializable
*/
public function toArray($request)
{
$data = [
'id' => $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;
}
}

View File

@ -1,6 +1,7 @@
<?php
use Beike\Models\Customer;
use Beike\Shop\Http\Controllers\Account\AddressController;
use Illuminate\Support\Facades\Route;
use Beike\Shop\Http\Controllers\CartController;
use Beike\Shop\Http\Controllers\HomeController;
@ -43,6 +44,8 @@ Route::prefix('/')
Route::middleware('shop_auth:' . Customer::AUTH_GUARD)
->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');

View File

@ -0,0 +1,11 @@
@extends('layout.master')
@section('content')
<div class="container">
<h1>我的地址</h1>
@foreach ($addresses as $address)
<div class="col-6 col-md-3">{{ $address->name }}</div>
@endforeach
</div>
@endsection