// +---------------------------------------------------------------------- namespace app\controller\admin\auth; use app\controller\Base; use app\services\auth\RoleService; class Role extends Base{ /** * @title 角色列表 * * @time 2019年12月09日 * @return string|Json */ public function index() { $tree = app()->make(RoleService::class)->getRolesList($this->request, true); $this->data['code'] = 1; $this->data['data'] = $tree; return $this->data; } /** * @title 角色添加 * @time 2019年12月11日 * @param $id * @param Request $request * @return Array */ public function add(RoleService $service) { try { $service->createRole($this->request); $this->data['code'] = 1; } catch (\Exception $e) { $this->data['code'] = 0; $this->data['message'] = $e->getMessage(); } return $this->data; } /** * @title 角色修改 * @time 2019年12月11日 * @param $id * @param Request $request * @return Array */ public function edit(RoleService $service) { try { $service->updateRole($this->request); $this->data['code'] = 1; } catch (\Exception $e) { $this->data['code'] = 0; $this->data['message'] = $e->getMessage(); } return $this->data; } /** * @title 角色授权 * @time 2019年12月11日 * @param $id * @param Request $request * @return Array */ public function auth() { $role_id = $this->request->param('role_id', ''); $auth = $this->request->param('auth', ''); $service = app()->make(RoleService::class); try { $service->updateRolePermission($role_id, $auth); $service->updateRoleAuth($this->request); $this->data['code'] = 1; } catch (\Exception $e) { $this->data['code'] = 0; $this->data['message'] = $e->getMessage(); } return $this->data; } /** * @title 删除角色 * * @time 2019年12月11日 * @param $id * @throws FailedException * @throws \think\db\exception\DataNotFoundException * @throws \think\db\exception\DbException * @throws \think\db\exception\ModelNotFoundException * @return Json */ public function delete(){ try { $service = app()->make(RoleService::class)->deleteRole($this->request); $this->data['code'] = 1; } catch (\Exception $e) { $this->data['code'] = 0; $this->data['message'] = $e->getMessage(); } return $this->data; } }