function ($query) { $query->select(['id', 'name', 'remark', 'pid', 'status']); }])->get(); return showJson(101, 1001, $role); } /** * 创建角色 * @author fatty * @date 2019/1/4 * @description */ public function create(Request $request) { if (Role::where(['name' => $request->post('name'), 'guard_name' => config('permission.guard')])->exists()) { return showJsonErr('角色已存在'); } $role = Role::create(['name' => $request->post('name'), 'guard_name' => config('permission.guard')]); return showJson(101, 1001, $role); } /** * 编辑角色 * @author fatty * @date 2019/1/9 * @param Request $request * @description */ public function edit(Request $request) { $validator = Validator::make($param = $request->all(), [ 'roleId' => 'required|exists:system_roles,id', 'roleName' => [ 'required', 'max:32', function ($attribute, $value, $fail) { if (SystemRoles::whereName($value)->whereGuardName(env('Backend_Guard'))->exists()) { return $fail('角色已存在'); } } ] ]); if ($validator->fails()) { return showJson(102, $validator->errors()->first()); } // 判断登录用户是否拥有该角色 if (!\Auth::user()->hasRole($param['roleId']) && \Auth::user()->is_super != 1) { return showJson(102, '您未拥有该角色'); } $result = SystemRoles::edit($param); if (empty($result)) { return showJson(102, '更新失败'); } return showJson(101, '更新成功', $result); } /** * 删除角色 * @author fatty * @date 2019/1/9 * @param $id * @description */ public function del($id) { if (!Role::whereId($id)->exists()) { return showJsonErr('角色ID不存在'); } // 判断登录用户是否拥有该角色 if (!\Auth::user()->hasRole($id) && \Auth::user()->is_super != 1) { return showJson(102, '您未拥有该角色'); } $result = SystemRoles::del($id); if (empty($result)) { return showJson(102, '删除角色失败'); } return showJson(101, '删除角色成功'); } /** * 角色拥有的权限 * @author fatty * @date 2019/1/9 * @description */ public function show($id) { $role = Role::findById($id, config('permission.guard')); $role->getAllPermissions(); return showJson(101, 1001, $role); } }