错误处理

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,12 +17,14 @@ use Beike\Admin\Http\Resources\AttributeValueResource;
use Beike\Admin\Http\Resources\AutocompleteResource; use Beike\Admin\Http\Resources\AutocompleteResource;
use Beike\Admin\Repositories\AttributeGroupRepo; use Beike\Admin\Repositories\AttributeGroupRepo;
use Beike\Admin\Repositories\AttributeRepo; use Beike\Admin\Repositories\AttributeRepo;
use Exception;
use Illuminate\Http\Request; use Illuminate\Http\Request;
class AttributeController extends Controller class AttributeController extends Controller
{ {
public function index(Request $request) public function index(Request $request)
{ {
try {
$attributes = AttributeRepo::getList(); $attributes = AttributeRepo::getList();
$data = [ $data = [
'attribute_list' => $attributes, 'attribute_list' => $attributes,
@ -33,77 +35,116 @@ class AttributeController extends Controller
if ($request->expectsJson()) { if ($request->expectsJson()) {
return json_success(trans('success'), $data); 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); return view('admin::pages.attributes.index', $data);
} }
public function show(Request $request, int $id) public function show(Request $request, int $id)
{ {
try {
$data = [ $data = [
'attribute' => (new AttributeDetailResource(AttributeRepo::find($id)))->jsonSerialize(), 'attribute' => (new AttributeDetailResource(AttributeRepo::find($id)))->jsonSerialize(),
'attribute_group' => AttributeGroupRepo::getList(), 'attribute_group' => AttributeGroupRepo::getList(),
]; ];
$data = hook_filter('admin.attribute.show.data', $data); $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); return view('admin::pages.attributes.form', $data);
} }
public function store(Request $request) public function store(Request $request)
{ {
try {
$requestData = json_decode($request->getContent(), true); $requestData = json_decode($request->getContent(), true);
$item = AttributeRepo::create($requestData); $item = AttributeRepo::create($requestData);
} catch (Exception $e) {
return json_fail($e->getMessage(), []);
}
return json_success(trans('common.created_success'), $item); return json_success(trans('common.created_success'), $item);
} }
public function update(Request $request, int $id) public function update(Request $request, int $id)
{ {
try {
$requestData = json_decode($request->getContent(), true); $requestData = json_decode($request->getContent(), true);
$item = AttributeRepo::update($id, $requestData); $item = AttributeRepo::update($id, $requestData);
} catch (Exception $e) {
return json_fail($e->getMessage(), []);
}
return json_success(trans('common.updated_success'), $item); return json_success(trans('common.updated_success'), $item);
} }
public function storeValue(Request $request, int $id) public function storeValue(Request $request, int $id)
{ {
try {
$requestData = json_decode($request->getContent(), true); $requestData = json_decode($request->getContent(), true);
$item = AttributeRepo::createValue(array_merge($requestData, ['attribute_id' => $id])); $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)); return json_success(trans('common.created_success'), new AttributeValueResource($item));
} }
public function updateValue(Request $request, int $id, int $value_id) public function updateValue(Request $request, int $id, int $value_id)
{ {
try {
$requestData = json_decode($request->getContent(), true); $requestData = json_decode($request->getContent(), true);
$item = AttributeRepo::updateValue($value_id, $requestData); $item = AttributeRepo::updateValue($value_id, $requestData);
} catch (Exception $e) {
return json_fail($e->getMessage(), []);
}
return json_success(trans('common.updated_success'), new AttributeValueResource($item)); return json_success(trans('common.updated_success'), new AttributeValueResource($item));
} }
public function destroyValue(Request $request, int $id, int $value_id) public function destroyValue(Request $request, int $id, int $value_id)
{ {
try {
AttributeRepo::deleteValue($value_id); AttributeRepo::deleteValue($value_id);
} catch (Exception $e) {
return json_fail($e->getMessage(), []);
}
return json_success(trans('common.deleted_success')); return json_success(trans('common.deleted_success'));
} }
public function destroy(Request $request, int $id) public function destroy(Request $request, int $id)
{ {
try {
AttributeRepo::delete($id); AttributeRepo::delete($id);
} catch (Exception $e) {
return json_fail($e->getMessage(), []);
}
return json_success(trans('common.deleted_success')); return json_success(trans('common.deleted_success'));
} }
public function autocomplete(Request $request): array public function autocomplete(Request $request): array
{ {
try {
$items = AttributeRepo::autocomplete($request->get('name') ?? '', 0); $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)); return json_success(trans('common.get_success'), AutocompleteResource::collection($items));
} }
public function autocompleteValue(Request $request, int $id): array public function autocompleteValue(Request $request, int $id): array
{ {
try {
$items = AttributeRepo::autocompleteValue($id, $request->get('name') ?? ''); $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)); return json_success(trans('common.get_success'), AutocompleteResource::collection($items));
} }

View File

@ -12,39 +12,56 @@
namespace Beike\Admin\Http\Controllers; namespace Beike\Admin\Http\Controllers;
use Beike\Admin\Repositories\AttributeGroupRepo; use Beike\Admin\Repositories\AttributeGroupRepo;
use Exception;
use Illuminate\Http\Request; use Illuminate\Http\Request;
class AttributeGroupController extends Controller class AttributeGroupController extends Controller
{ {
public function index() public function index()
{ {
try {
$data = [ $data = [
'attribute_groups' => AttributeGroupRepo::getList(), 'attribute_groups' => AttributeGroupRepo::getList(),
]; ];
$data = hook_filter('admin.attribute_group.index.data', $data); $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); return view('admin::pages.attribute_group.index', $data);
} }
public function store(Request $request) public function store(Request $request)
{ {
try {
$requestData = json_decode($request->getContent(), true); $requestData = json_decode($request->getContent(), true);
$item = AttributeGroupRepo::create($requestData); $item = AttributeGroupRepo::create($requestData);
} catch (Exception $e) {
return json_fail($e->getMessage(), []);
}
return json_success(trans('common.created_success'), $item); return json_success(trans('common.created_success'), $item);
} }
public function update(Request $request, int $id) public function update(Request $request, int $id)
{ {
try {
$requestData = json_decode($request->getContent(), true); $requestData = json_decode($request->getContent(), true);
$item = AttributeGroupRepo::update($id, $requestData); $item = AttributeGroupRepo::update($id, $requestData);
} catch (Exception $e) {
return json_fail($e->getMessage(), []);
}
return json_success(trans('common.updated_success'), $item); return json_success(trans('common.updated_success'), $item);
} }
public function destroy(Request $request, int $id) public function destroy(Request $request, int $id)
{ {
try {
AttributeGroupRepo::delete($id); AttributeGroupRepo::delete($id);
} catch (Exception $e) {
return json_fail($e->getMessage(), []);
}
return json_success(trans('common.deleted_success')); return json_success(trans('common.deleted_success'));
} }

View File

@ -143,7 +143,12 @@
type: 'warning' type: 'warning'
}).then(() => { }).then(() => {
$http.delete('attribute_groups/' + id).then((res) => { $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) self.attribute_groups.splice(index, 1)
}) })
}).catch(()=>{}) }).catch(()=>{})

View File

@ -166,9 +166,13 @@
type: 'warning' type: 'warning'
}).then(() => { }).then(() => {
$http.delete(`attributes/${id}`).then((res) => { $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(); window.location.reload();
// self.customers.splice(index, 1)
}) })
}).catch(()=>{}) }).catch(()=>{})
}, },