param('role_status'); $role = $request->param('role'); $scope = explode(',', $request->param('scope', '')); $con = [ // 'role_status' => 1 ]; if ($role) { $con['role_name'] = $role; } if ($role_status) { $con['role_status'] = $role_status; } $query = ModelRole::scope($scope)->withSearch(['role_name'], $con)->where($con); $select = self::pageWrapper($query)->field([ 'role_name', 'role_status', 'role_guid', ])->append([ 'role_status_text' ])->order([ 'role_id' => 'desc' ])->select(); $count = $query->count(); return [ 'code' => 0, 'data' => $select, 'count' => $count, 'msg' => 'ok' ]; } /** * 获取角色菜单 * * @param Request $request * @date 2022-03-08 * @example * @author admin * @since 1.0.0 */ public function getRoleMenu(Request $request): array { $params = $request->param(); $this->validate($params, [ 'role_guid' => 'require' ]); dump(ModelRole::getByRoleGuid($params['role_guid'])->menus); return [ 'code' => 0, 'msg' => 'ok', // 'data' => $data ]; } /** * 编辑角色 * * @param Request $request * @date 2022-02-28 * @example * @author admin * @since 1.0.0 */ public function editRole(Request $request): array { $params = $request->param(); $this->validate($params, [ 'role_guid' => 'require', 'role_name' => 'require', ]); $role = ModelRole::where([ 'role_guid' => $params['role_guid'] ])->find(); if (!$role) { throwErrorMsg("角色不存在", 1); } $role->save([ 'role_name' => $params['role_name'], ]); return [ 'code' => 0, 'msg' => '编辑成功' ]; } /** * 添加角色 * * @param Request $request * @date 2022-02-28 * @example * @author admin * @since 1.0.0 */ public function addRole(Request $request): array { $params = $request->param(); $this->validate($params, [ 'role_name' => 'require', ]); ModelRole::create([ 'role_name' => $params['role_name'], ]); return [ 'code' => 0, 'msg' => '添加成功' ]; } /** * 删除角色 * * @param Request $request * @date 2022-02-28 * @example * @author admin * @since 1.0.0 */ public function deleteRole(Request $request): array { $params = $request->param(); $this->validate($params, [ 'role_guid' => 'require', ]); $roles = ModelRole::where([ 'role_guid' => ['in', $params['role_guid']] ])->select(); $roles->delete(); return [ 'code' => 0, 'msg' => "删除成功" ]; } /** * 更新角色状态 * * @param Request $request * @date 2022-02-28 * @example * @author admin * @since 1.0.0 */ public function updateRoleStatus(Request $request): array { $params = $request->param(); $this->validate($params, [ 'role_guid' => 'require', 'role_status' => 'require|in:1,2', ]); $role_status = $params['role_status']; $roles = ModelRole::where([ 'role_guid' => explode(',', $params['role_guid']) ])->select(); $roles->update([ 'role_status' => $role_status ]); return [ 'code' => 0, 'msg' => "更新成功" ]; } }