From 1dcce85c3a0601e820f418d5699a82cd5b91fed5 Mon Sep 17 00:00:00 2001 From: wuyanwen Date: Thu, 26 Dec 2019 09:03:09 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E6=9D=83=E9=99=90=E7=AE=A1?= =?UTF-8?q?=E7=90=86?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- catch/CatchAdminService.php | 4 +- catch/permissions/PermissionsMiddleware.php | 5 +- catch/permissions/controller/Permission.php | 71 +-------------------- catch/permissions/controller/Role.php | 44 +++---------- catch/permissions/model/Roles.php | 6 +- catch/permissions/route.php | 7 +- catch/user/controller/User.php | 25 ++++++-- catch/user/route.php | 8 +-- 8 files changed, 46 insertions(+), 124 deletions(-) diff --git a/catch/CatchAdminService.php b/catch/CatchAdminService.php index 064dd2d..d028fda 100644 --- a/catch/CatchAdminService.php +++ b/catch/CatchAdminService.php @@ -80,7 +80,7 @@ class CatchAdminService extends Service protected function registerMiddleWares(): void { $this->app->middleware->import([ - 'catch_check_permission' => PermissionsMiddleware::class, + // 'catch_check_permission' => PermissionsMiddleware::class, ], 'route'); } @@ -117,4 +117,4 @@ class CatchAdminService extends Service ] ]); } -} \ No newline at end of file +} diff --git a/catch/permissions/PermissionsMiddleware.php b/catch/permissions/PermissionsMiddleware.php index be82daa..9364a36 100644 --- a/catch/permissions/PermissionsMiddleware.php +++ b/catch/permissions/PermissionsMiddleware.php @@ -3,6 +3,7 @@ namespace catchAdmin\permissions; use app\Request; use catchAdmin\permissions\model\Permissions; +use catcher\Code; use catcher\exceptions\PermissionForbiddenException; use think\helper\Str; @@ -34,7 +35,7 @@ class PermissionsMiddleware } if (!$request->user()) { - throw new PermissionForbiddenException('Login is invalid', 10006); + throw new PermissionForbiddenException('Login is invalid', Code::LOST_LOGIN); } // toad @@ -95,4 +96,4 @@ class PermissionsMiddleware { return ['login']; } -} \ No newline at end of file +} diff --git a/catch/permissions/controller/Permission.php b/catch/permissions/controller/Permission.php index 3eed60f..cba8b24 100644 --- a/catch/permissions/controller/Permission.php +++ b/catch/permissions/controller/Permission.php @@ -20,24 +20,13 @@ class Permission extends CatchController $this->permissions = $permissions; } - /** - * - * @time 2019年12月11日 - * @throws \Exception - * @return string - */ - public function index() - { - return $this->fetch(); - } - /** * * @time 2019年12月11日 * @param Request $request * @return \think\response\Json */ - public function list(Request $request) + public function index(Request $request) { return CatchResponse::success(Tree::done($this->permissions->getList($request->param()))); } @@ -49,29 +38,7 @@ class Permission extends CatchController * @return string */ public function create() - { - $form = new CatchForm(); - $form->formId('permission'); - $form->text('permission_name', '菜单名称', true)->verify('required')->placeholder('请输入菜单名称'); - $form->hidden('parent_id')->default(\request()->param('id') ?? 0); - $form->select('module', '模块', true)->verify('required')->options(CatchAdmin::getModulesInfo()); - $form->text('route', '路由')->placeholder('请输入路由'); - $form->radio('method', '请求方法', true)->default(Permissions::GET)->options([ - ['value' => Permissions::GET, 'title' => 'get'], - ['value' => Permissions::POST, 'title' => 'post'], - ['value' => Permissions::PUT, 'title' => 'put'], - ['value' => Permissions::DELETE, 'title' => 'delete'], - ]); - $form->text('permission_mark', '权限标识', true)->verify('required')->placeholder('请输入权限标识controller:action'); - $form->radio('type', '类型', true)->default(Permissions::BTN_TYPE)->options([ - ['value' => Permissions::MENU_TYPE, 'title' => '菜单'], - ['value' => Permissions::BTN_TYPE, 'title' => '按钮'], - ]); - $form->text('sort', '排序')->verify('numberX')->default(1)->placeholder('倒叙排序'); - $form->formBtn('submitPermission'); - - return $this->fetch(['form' => $form->render()]); - } + {} /** * @@ -95,39 +62,7 @@ class Permission extends CatchController * @return string */ public function edit($id) - { - $permission = $this->permissions->findBy($id); - - $form = new CatchForm(); - $form->formId('permission'); - $form->text('permission_name', '菜单名称', true) - ->default($permission->permission_name) - ->verify('required') - ->placeholder('请输入菜单名称'); - $form->hidden('parent_id')->default($permission->parent_id); - $form->select('module', '模块', true)->default($permission->module)->options(CatchAdmin::getModulesInfo()); - $form->text('route', '路由')->default($permission->route)->placeholder('请输入路由'); - $form->radio('method', '请求方法', true)->verify('required')->default($permission->method)->options([ - ['value' => Permissions::GET, 'title' => 'get'], - ['value' => Permissions::POST, 'title' => 'post'], - ['value' => Permissions::PUT, 'title' => 'put'], - ['value' => Permissions::DELETE, 'title' => 'delete'], - ]); - $form->text('permission_mark', '权限标识', true) - ->default($permission->permission_mark) - ->verify('required')->placeholder('请输入权限标识controller:action'); - $form->radio('type', '类型', true)->default($permission->type)->options([ - ['value' => Permissions::MENU_TYPE, 'title' => '菜单'], - ['value' => Permissions::BTN_TYPE, 'title' => '按钮'], - ]); - $form->text('sort', '排序')->verify('numberX')->default($permission->sort)->placeholder('倒叙排序'); - $form->formBtn('submitPermission'); - - return $this->fetch([ - 'form' => $form->render(), - 'permission_id' => $permission->id, - ]); - } + {} /** * diff --git a/catch/permissions/controller/Role.php b/catch/permissions/controller/Role.php index d583340..7605d90 100644 --- a/catch/permissions/controller/Role.php +++ b/catch/permissions/controller/Role.php @@ -18,15 +18,15 @@ class Role extends CatchController $this->role = $role; } - /** - * - * @time 2019年12月09日 - * @throws \Exception - * @return string - */ - public function index() + /** + * + * @time 2019年12月09日 + * @param Request $request + * @return string + */ + public function index(Request $request) { - return $this->fetch(); + return CatchResponse::success(Tree::done($this->role->getList($request->param()))); } /** @@ -36,20 +36,7 @@ class Role extends CatchController * @return string */ public function create() - { - $form = new CatchForm(); - $form->formId('role'); - $form->text('role_name', '角色名称', true)->verify('required')->placeholder('请输入角色名称'); - $form->hidden('parent_id')->default(\request()->param('id') ?? 0); - $form->textarea('description', '角色描述')->placeholder('请输入角色描述'); - $form->dom('
', '权限'); - $form->formBtn('submitRole'); - - return $this->fetch([ - 'form' => $form->render(), - 'parent_id' => \request()->param('id') ?? 0, - ]); - } + {} /** * @@ -149,17 +136,6 @@ class Role extends CatchController return CatchResponse::success(); } - /** - * - * @time 2019年12月11日 - * @param Request $request - * @return Json - */ - public function list(Request $request) - { - return CatchResponse::success(Tree::done($this->role->getList($request->param()))); - } - /** * * @time 2019年12月11日 @@ -194,4 +170,4 @@ class Role extends CatchController 'hasPermissions' => $permissionIds, ]); } -} \ No newline at end of file +} diff --git a/catch/permissions/model/Roles.php b/catch/permissions/model/Roles.php index ffd2c44..b6ba69b 100644 --- a/catch/permissions/model/Roles.php +++ b/catch/permissions/model/Roles.php @@ -21,8 +21,8 @@ class Roles extends CatchModel public function getList($search = []) { - return $this->when($search['name'] ?? false, function ($query) use ($search){ - $query->whereLike('name', $search['name']); + return $this->when($search['role_name'] ?? false, function ($query) use ($search){ + $query->whereLike('role_name', $search['role_name']); }) ->when($search['id'] ?? false, function ($query) use ($search){ $query->where('parent_id', $search['id']) @@ -104,4 +104,4 @@ class Roles extends CatchModel return $this->permissions()->detach($roles); } -} \ No newline at end of file +} diff --git a/catch/permissions/route.php b/catch/permissions/route.php index 1a3aaf9..c60c646 100644 --- a/catch/permissions/route.php +++ b/catch/permissions/route.php @@ -1,11 +1,8 @@ resource('role', '\catchAdmin\permissions\controller\Role'); +$router->resource('roles', '\catchAdmin\permissions\controller\Role'); // 角色列表 -$router->get('roles', '\catchAdmin\permissions\controller\Role@list'); $router->get('/role/get/permissions', '\catchAdmin\permissions\controller\Role@getPermissions'); // 权限 -$router->resource('permission', '\catchAdmin\permissions\controller\Permission'); -// 权限列表 -$router->get('permissions', '\catchAdmin\permissions\controller\Permission@list'); +$router->resource('permissions', '\catchAdmin\permissions\controller\Permission'); diff --git a/catch/user/controller/User.php b/catch/user/controller/User.php index ecad715..7163c67 100644 --- a/catch/user/controller/User.php +++ b/catch/user/controller/User.php @@ -10,6 +10,7 @@ use catchAdmin\user\request\UpdateRequest; use catcher\base\CatchController; use catcher\CatchResponse; use catcher\Tree; +use catcher\Utils; class User extends CatchController { @@ -110,10 +111,14 @@ class User extends CatchController */ public function delete($id) { - // 删除角色 - $this->user->findBy($id)->detach(); + $ids = Utils::stringToArrayBy($id); - $this->user->deleteBy($id); + foreach ($ids as $_id) { + // 删除角色 + $this->user->findBy($_id)->detach(); + + $this->user->deleteBy($_id); + } return CatchResponse::success(); } @@ -126,10 +131,18 @@ class User extends CatchController */ public function switchStatus($id): \think\response\Json { - $user = $this->user->findBy($id); - return CatchResponse::success($this->user->updateBy($id, [ + $ids = Utils::stringToArrayBy($id); + + foreach ($ids as $_id) { + + $user = $this->user->findBy($_id); + + $this->user->updateBy($_id, [ 'status' => $user->status == Users::ENABLE ? Users::DISABLE : Users::ENABLE, - ])); + ]); + } + + return CatchResponse::success([], '操作成功'); } /** diff --git a/catch/user/route.php b/catch/user/route.php index 0858f19..371e611 100644 --- a/catch/user/route.php +++ b/catch/user/route.php @@ -1,7 +1,7 @@ resource('user', '\catchAdmin\user\controller\User'); +$router->resource('users', '\catchAdmin\user\controller\User'); // 切换状态 -$router->put('user/switch/status/', '\catchAdmin\user\controller\User@switchStatus'); -$router->put('user/recover/', '\catchAdmin\user\controller\User@recover'); -$router->get('user/get/roles', '\catchAdmin\user\controller\User@getRoles'); +$router->put('users/switch/status/', '\catchAdmin\user\controller\User@switchStatus'); +$router->put('users/recover/', '\catchAdmin\user\controller\User@recover'); +$router->get('users/get/roles', '\catchAdmin\user\controller\User@getRoles');