LabelController.php 1.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354
  1. <?php
  2. namespace App\Http\Controllers\Admin\Config;
  3. use App\Http\Controllers\Controller;
  4. use App\Models\Label;
  5. use App\Models\NodeLabel;
  6. use Exception;
  7. use Illuminate\Http\JsonResponse;
  8. use Illuminate\Http\Request;
  9. use Log;
  10. use Response;
  11. class LabelController extends Controller
  12. {
  13. // 添加标签
  14. public function store(Request $request): JsonResponse
  15. {
  16. $label = new Label();
  17. $label->name = $request->input('name');
  18. $label->sort = $request->input('sort');
  19. if ($label->save()) {
  20. return Response::json(['status' => 'success', 'message' => '添加成功']);
  21. }
  22. return Response::json(['status' => 'fail', 'message' => '添加失败']);
  23. }
  24. // 编辑标签
  25. public function update(Request $request, $id): JsonResponse
  26. {
  27. if (Label::whereId($id)->update(['name' => $request->input('name'), 'sort' => $request->input('sort')])) {
  28. return Response::json(['status' => 'success', 'message' => '编辑成功']);
  29. }
  30. return Response::json(['status' => 'fail', 'message' => '编辑失败']);
  31. }
  32. // 删除标签
  33. public function destroy($id): ?JsonResponse
  34. {
  35. try {
  36. Label::whereId($id)->delete();
  37. NodeLabel::whereLabelId($id)->delete(); // 删除节点关联
  38. return Response::json(['status' => 'success', 'message' => '删除成功']);
  39. } catch (Exception $e) {
  40. Log::error('删除标签失败:'.$e->getMessage());
  41. return Response::json(['status' => 'fail', 'message' => '删除失败:'.$e->getMessage()]);
  42. }
  43. }
  44. }