PermissionController.php 1.6 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455
  1. <?php
  2. namespace App\Http\Controllers\Admin;
  3. use App\Http\Controllers\Controller;
  4. use App\Http\Requests\Admin\PermissionRequest;
  5. use Exception;
  6. use Spatie\Permission\Models\Permission;
  7. class PermissionController extends Controller
  8. {
  9. public function index()
  10. {
  11. return view('admin.permission.index', ['permissions' => Permission::query()->paginate(15)]);
  12. }
  13. public function create()
  14. {
  15. return view('admin.permission.info');
  16. }
  17. public function store(PermissionRequest $request)
  18. {
  19. if ($permission = Permission::create($request->validated())) {
  20. return redirect()->route('admin.permission.edit', $permission)->with('successMsg', '操作成功');
  21. }
  22. return redirect()->back()->withInput()->withErrors('操作失败');
  23. }
  24. public function edit(Permission $permission)
  25. {
  26. return view('admin.permission.info', compact('permission'));
  27. }
  28. public function update(PermissionRequest $request, Permission $permission)
  29. {
  30. if ($permission->update($request->validated())) {
  31. return redirect()->back()->with('successMsg', '操作成功');
  32. }
  33. return redirect()->back()->withInput()->withErrors('操作失败');
  34. }
  35. public function destroy(Permission $permission)
  36. {
  37. try {
  38. $permission->delete();
  39. } catch (Exception $e) {
  40. return response()->json(['status' => 'fail', 'message' => '删除失败,'.$e->getMessage()]);
  41. }
  42. return response()->json(['status' => 'success', 'message' => '清理成功']);
  43. }
  44. }