validate([ 'title' => ['nullable', 'string'], 'permission_name' => ['nullable', 'string'], ]); $search = request()->all(); $result = RoleService::paginate($search); } catch (ValidationException $e) { return $this->error(HttpStatus::VALIDATION_FAILED, '', $e->errors()); } catch (Exception $e) { return $this->error(intval($e->getCode())); } return $this->success($result); } /** * @api {post} /admin/role/submit 修改角色 * @apiGroup 角色管理 * * @apiUse result * @apiUse header * @apiVersion 1.0.0 * * @apiParam {int} id 角色ID * @apiParam {string} display_name 角色名称(显示用) * @apiParam {string} description 角色描述 * @apiParam {array} [menus_ids] 角色菜单 */ public function store() { // try { $params = request()->all(); $validator = [ // 'name' => 'required|string|max:50|alpha_dash', // 'name' => 'required|string|max:50|alpha_dash|unique:roles,name', 'display_name' => 'nullable|string|max:100', 'description' => 'nullable|string', ]; request()->validate($validator); $ret = RoleService::submit($params); if ($ret['code'] == RoleService::NOT) { return $this->error($ret['code'], $ret['msg']); } // } catch (ValidationException $e) { // return $this->error(HttpStatus::VALIDATION_FAILED, '', $e->errors()); // } catch (Exception $e) { // return $this->error(intval($e->getCode())); // } return $this->success([], $ret['msg']); } /** * @api {post} /admin/role/delete 删除角色 * @apiGroup 角色管理 * * @apiUse result * @apiUse header * @apiVersion 1.0.0 * * @apiParam {int} id 角色ID */ public function destroy() { $id = request()->post('id'); // 示例:通过 ID 删除菜单 $info = RoleService::findOne(['id' => $id]); if (!$info) { return $this->error(0, '角色不存在'); } $info->delete(); return $this->success([], '删除成功'); } /** * @api {get} /admin/role/all 全部角色 * @apiGroup 角色管理 * * @apiUse result * @apiUse header * @apiVersion 1.0.0 * * @apiSuccess (data) {Object[]} data 列表 * @apiSuccess (data) {int} data.id * @apiSuccess (data) {string} data.display_name 角色名称(显示用) * @apiSuccess (data) {string} data.description 角色描述 * @apiSuccess (data) {array} data.data.menus_ids 角色拥有的菜单 * @apiSuccess (data) {string} data.updated_at * @apiSuccess (data) {string} data.created_at * */ public function all() { $search = request()->all(); $result = RoleService::findAll($search); return $this->success($result); } }