permissionService = $permissionService; } /** * 获取权限列表 */ public function index(Request $request) { $params = $request->all(); $result = $this->permissionService->getList($params); return response()->json([ 'code' => 200, 'message' => 'success', 'data' => $result, ]); } /** * 获取权限树 */ public function tree(Request $request) { $params = $request->all(); $result = $this->permissionService->getTree($params); return response()->json([ 'code' => 200, 'message' => 'success', 'data' => $result, ]); } /** * 获取菜单树 */ public function menu(Request $request) { $result = $this->permissionService->getMenuTree(); return response()->json([ 'code' => 200, 'message' => 'success', 'data' => $result, ]); } /** * 获取权限详情 */ public function show($id) { $result = $this->permissionService->getById($id); return response()->json([ 'code' => 200, 'message' => 'success', 'data' => $result, ]); } /** * 创建权限 */ public function store(Request $request) { $validated = $request->validate([ 'title' => 'required|string|max:50', 'name' => 'required|string|max:100|unique:auth_permissions,name', 'type' => 'required|in:menu,api,button', 'route' => 'nullable|string|max:200', 'component' => 'nullable|string|max:200', 'parent_id' => 'nullable|integer|exists:auth_permissions,id', 'sort' => 'nullable|integer|min:0', 'status' => 'nullable|integer|in:0,1', 'meta' => 'nullable|array', ]); $result = $this->permissionService->create($validated); return response()->json([ 'code' => 200, 'message' => '创建成功', 'data' => ['id' => $result->id], ], 201); } /** * 更新权限 */ public function update(Request $request, $id) { $validated = $request->validate([ 'title' => 'nullable|string|max:50', 'name' => 'nullable|string|max:100|unique:auth_permissions,name,' . $id, 'type' => 'nullable|in:menu,api,button', 'route' => 'nullable|string|max:200', 'component' => 'nullable|string|max:200', 'parent_id' => 'nullable|integer|exists:auth_permissions,id', 'sort' => 'nullable|integer|min:0', 'status' => 'nullable|integer|in:0,1', 'meta' => 'nullable|array', ]); $result = $this->permissionService->update($id, $validated); return response()->json([ 'code' => 200, 'message' => '更新成功', 'data' => ['id' => $result->id], ]); } /** * 删除权限 */ public function destroy($id) { $this->permissionService->delete($id); return response()->json([ 'code' => 200, 'message' => '删除成功', 'data' => null, ]); } /** * 批量删除权限 */ public function batchDelete(Request $request) { $validated = $request->validate([ 'ids' => 'required|array', 'ids.*' => 'integer', ]); $count = $this->permissionService->batchDelete($validated['ids']); return response()->json([ 'code' => 200, 'message' => "成功删除 {$count} 条数据", 'data' => ['count' => $count], ]); } /** * 批量更新权限状态 */ public function batchUpdateStatus(Request $request) { $validated = $request->validate([ 'ids' => 'required|array', 'ids.*' => 'integer', 'status' => 'required|integer|in:0,1', ]); $count = $this->permissionService->batchUpdateStatus($validated['ids'], $validated['status']); return response()->json([ 'code' => 200, 'message' => "成功更新 {$count} 条数据", 'data' => ['count' => $count], ]); } }