错误处理

wip
This commit is contained in:
TL 2023-03-17 16:45:51 +08:00 committed by Edward Yang
parent ed10fe3df8
commit e61c9a6def
4 changed files with 105 additions and 38 deletions

View File

@ -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));
}

View File

@ -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'));
}

View File

@ -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(()=>{})

View File

@ -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(()=>{})
},