修改权限管理
This commit is contained in:
parent
4a3f043166
commit
1dcce85c3a
@ -80,7 +80,7 @@ class CatchAdminService extends Service
|
|||||||
protected function registerMiddleWares(): void
|
protected function registerMiddleWares(): void
|
||||||
{
|
{
|
||||||
$this->app->middleware->import([
|
$this->app->middleware->import([
|
||||||
'catch_check_permission' => PermissionsMiddleware::class,
|
// 'catch_check_permission' => PermissionsMiddleware::class,
|
||||||
], 'route');
|
], 'route');
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -3,6 +3,7 @@ namespace catchAdmin\permissions;
|
|||||||
|
|
||||||
use app\Request;
|
use app\Request;
|
||||||
use catchAdmin\permissions\model\Permissions;
|
use catchAdmin\permissions\model\Permissions;
|
||||||
|
use catcher\Code;
|
||||||
use catcher\exceptions\PermissionForbiddenException;
|
use catcher\exceptions\PermissionForbiddenException;
|
||||||
use think\helper\Str;
|
use think\helper\Str;
|
||||||
|
|
||||||
@ -34,7 +35,7 @@ class PermissionsMiddleware
|
|||||||
}
|
}
|
||||||
|
|
||||||
if (!$request->user()) {
|
if (!$request->user()) {
|
||||||
throw new PermissionForbiddenException('Login is invalid', 10006);
|
throw new PermissionForbiddenException('Login is invalid', Code::LOST_LOGIN);
|
||||||
}
|
}
|
||||||
|
|
||||||
// toad
|
// toad
|
||||||
|
@ -20,24 +20,13 @@ class Permission extends CatchController
|
|||||||
$this->permissions = $permissions;
|
$this->permissions = $permissions;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
|
||||||
*
|
|
||||||
* @time 2019年12月11日
|
|
||||||
* @throws \Exception
|
|
||||||
* @return string
|
|
||||||
*/
|
|
||||||
public function index()
|
|
||||||
{
|
|
||||||
return $this->fetch();
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
*
|
*
|
||||||
* @time 2019年12月11日
|
* @time 2019年12月11日
|
||||||
* @param Request $request
|
* @param Request $request
|
||||||
* @return \think\response\Json
|
* @return \think\response\Json
|
||||||
*/
|
*/
|
||||||
public function list(Request $request)
|
public function index(Request $request)
|
||||||
{
|
{
|
||||||
return CatchResponse::success(Tree::done($this->permissions->getList($request->param())));
|
return CatchResponse::success(Tree::done($this->permissions->getList($request->param())));
|
||||||
}
|
}
|
||||||
@ -49,29 +38,7 @@ class Permission extends CatchController
|
|||||||
* @return string
|
* @return string
|
||||||
*/
|
*/
|
||||||
public function create()
|
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
|
* @return string
|
||||||
*/
|
*/
|
||||||
public function edit($id)
|
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,
|
|
||||||
]);
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
*
|
*
|
||||||
|
@ -21,12 +21,12 @@ class Role extends CatchController
|
|||||||
/**
|
/**
|
||||||
*
|
*
|
||||||
* @time 2019年12月09日
|
* @time 2019年12月09日
|
||||||
* @throws \Exception
|
* @param Request $request
|
||||||
* @return string
|
* @return string
|
||||||
*/
|
*/
|
||||||
public function index()
|
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
|
* @return string
|
||||||
*/
|
*/
|
||||||
public function create()
|
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('<div id="permissions"></div>', '权限');
|
|
||||||
$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();
|
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日
|
* @time 2019年12月11日
|
||||||
|
@ -21,8 +21,8 @@ class Roles extends CatchModel
|
|||||||
|
|
||||||
public function getList($search = [])
|
public function getList($search = [])
|
||||||
{
|
{
|
||||||
return $this->when($search['name'] ?? false, function ($query) use ($search){
|
return $this->when($search['role_name'] ?? false, function ($query) use ($search){
|
||||||
$query->whereLike('name', $search['name']);
|
$query->whereLike('role_name', $search['role_name']);
|
||||||
})
|
})
|
||||||
->when($search['id'] ?? false, function ($query) use ($search){
|
->when($search['id'] ?? false, function ($query) use ($search){
|
||||||
$query->where('parent_id', $search['id'])
|
$query->where('parent_id', $search['id'])
|
||||||
|
@ -1,11 +1,8 @@
|
|||||||
<?php
|
<?php
|
||||||
// 角色
|
// 角色
|
||||||
$router->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->get('/role/get/permissions', '\catchAdmin\permissions\controller\Role@getPermissions');
|
||||||
|
|
||||||
// 权限
|
// 权限
|
||||||
$router->resource('permission', '\catchAdmin\permissions\controller\Permission');
|
$router->resource('permissions', '\catchAdmin\permissions\controller\Permission');
|
||||||
// 权限列表
|
|
||||||
$router->get('permissions', '\catchAdmin\permissions\controller\Permission@list');
|
|
||||||
|
@ -10,6 +10,7 @@ use catchAdmin\user\request\UpdateRequest;
|
|||||||
use catcher\base\CatchController;
|
use catcher\base\CatchController;
|
||||||
use catcher\CatchResponse;
|
use catcher\CatchResponse;
|
||||||
use catcher\Tree;
|
use catcher\Tree;
|
||||||
|
use catcher\Utils;
|
||||||
|
|
||||||
class User extends CatchController
|
class User extends CatchController
|
||||||
{
|
{
|
||||||
@ -110,10 +111,14 @@ class User extends CatchController
|
|||||||
*/
|
*/
|
||||||
public function delete($id)
|
public function delete($id)
|
||||||
{
|
{
|
||||||
// 删除角色
|
$ids = Utils::stringToArrayBy($id);
|
||||||
$this->user->findBy($id)->detach();
|
|
||||||
|
|
||||||
$this->user->deleteBy($id);
|
foreach ($ids as $_id) {
|
||||||
|
// 删除角色
|
||||||
|
$this->user->findBy($_id)->detach();
|
||||||
|
|
||||||
|
$this->user->deleteBy($_id);
|
||||||
|
}
|
||||||
|
|
||||||
return CatchResponse::success();
|
return CatchResponse::success();
|
||||||
}
|
}
|
||||||
@ -126,10 +131,18 @@ class User extends CatchController
|
|||||||
*/
|
*/
|
||||||
public function switchStatus($id): \think\response\Json
|
public function switchStatus($id): \think\response\Json
|
||||||
{
|
{
|
||||||
$user = $this->user->findBy($id);
|
$ids = Utils::stringToArrayBy($id);
|
||||||
return CatchResponse::success($this->user->updateBy($id, [
|
|
||||||
|
foreach ($ids as $_id) {
|
||||||
|
|
||||||
|
$user = $this->user->findBy($_id);
|
||||||
|
|
||||||
|
$this->user->updateBy($_id, [
|
||||||
'status' => $user->status == Users::ENABLE ? Users::DISABLE : Users::ENABLE,
|
'status' => $user->status == Users::ENABLE ? Users::DISABLE : Users::ENABLE,
|
||||||
]));
|
]);
|
||||||
|
}
|
||||||
|
|
||||||
|
return CatchResponse::success([], '操作成功');
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
<?php
|
<?php
|
||||||
|
|
||||||
$router->resource('user', '\catchAdmin\user\controller\User');
|
$router->resource('users', '\catchAdmin\user\controller\User');
|
||||||
// 切换状态
|
// 切换状态
|
||||||
$router->put('user/switch/status/<id>', '\catchAdmin\user\controller\User@switchStatus');
|
$router->put('users/switch/status/<id>', '\catchAdmin\user\controller\User@switchStatus');
|
||||||
$router->put('user/recover/<id>', '\catchAdmin\user\controller\User@recover');
|
$router->put('users/recover/<id>', '\catchAdmin\user\controller\User@recover');
|
||||||
$router->get('user/get/roles', '\catchAdmin\user\controller\User@getRoles');
|
$router->get('users/get/roles', '\catchAdmin\user\controller\User@getRoles');
|
||||||
|
Loading…
x
Reference in New Issue
Block a user