修改权限
This commit is contained in:
parent
fb482ded01
commit
691518c8c8
@ -24,6 +24,10 @@ class PermissionsMiddleware
|
|||||||
*/
|
*/
|
||||||
public function handle(Request $request, \Closure $next)
|
public function handle(Request $request, \Closure $next)
|
||||||
{
|
{
|
||||||
|
if ($request->isGet() && config('catch.is_allow_get')) {
|
||||||
|
return $next($request);
|
||||||
|
}
|
||||||
|
|
||||||
$rule = $request->rule()->getName();
|
$rule = $request->rule()->getName();
|
||||||
|
|
||||||
if (!$rule) {
|
if (!$rule) {
|
||||||
|
@ -21,6 +21,7 @@ class Job extends CatchController
|
|||||||
* @time 2020年01月09日
|
* @time 2020年01月09日
|
||||||
* @param CatchRequest $request
|
* @param CatchRequest $request
|
||||||
* @return \think\response\Json
|
* @return \think\response\Json
|
||||||
|
* @throws \think\db\exception\DbException
|
||||||
*/
|
*/
|
||||||
public function index(): \think\response\Json
|
public function index(): \think\response\Json
|
||||||
{
|
{
|
||||||
|
@ -7,7 +7,8 @@ use catcher\base\CatchController;
|
|||||||
use catcher\CatchResponse;
|
use catcher\CatchResponse;
|
||||||
use catcher\exceptions\FailedException;
|
use catcher\exceptions\FailedException;
|
||||||
use catcher\Tree;
|
use catcher\Tree;
|
||||||
use catchAdmin\permissions\model\Permissions as Permissions;
|
use catchAdmin\permissions\model\Permissions;
|
||||||
|
use think\response\Json;
|
||||||
|
|
||||||
class Permission extends CatchController
|
class Permission extends CatchController
|
||||||
{
|
{
|
||||||
@ -22,55 +23,54 @@ class Permission extends CatchController
|
|||||||
*
|
*
|
||||||
* @time 2019年12月11日
|
* @time 2019年12月11日
|
||||||
* @param Request $request
|
* @param Request $request
|
||||||
* @return \think\response\Json
|
* @return Json
|
||||||
*/
|
*/
|
||||||
public function index()
|
public function index(): Json
|
||||||
{
|
{
|
||||||
return CatchResponse::success(Tree::done($this->permissions->getList()));
|
return CatchResponse::success(Tree::done($this->permissions->getList()));
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
*
|
*
|
||||||
* @time 2019年12月11日
|
* @time 2019年12月11日
|
||||||
* @throws \Exception
|
* @param Request $request
|
||||||
* @return string
|
* @return Json
|
||||||
*/
|
* @throws \think\db\exception\DbException
|
||||||
public function create()
|
* @throws \think\db\exception\ModelNotFoundException
|
||||||
{}
|
* @throws \think\db\exception\DataNotFoundException
|
||||||
|
*/
|
||||||
/**
|
public function save(Request $request): Json
|
||||||
*
|
|
||||||
* @time 2019年12月11日
|
|
||||||
* @param Request $request
|
|
||||||
* @return \think\response\Json
|
|
||||||
*/
|
|
||||||
public function save(Request $request)
|
|
||||||
{
|
{
|
||||||
|
$params = $request->param();
|
||||||
|
|
||||||
|
// 如果是子分类 自动写入父类模块
|
||||||
|
$parentId = $params['parent_id'] ?? 0;
|
||||||
|
if ($parentId) {
|
||||||
|
$parent = $this->permissions->findBy($parentId);
|
||||||
|
$params['module'] = $parent['module'];
|
||||||
|
}
|
||||||
|
|
||||||
return CatchResponse::success($this->permissions->storeBy($request->param()));
|
return CatchResponse::success($this->permissions->storeBy($request->param()));
|
||||||
}
|
}
|
||||||
|
|
||||||
public function read()
|
|
||||||
{}
|
|
||||||
|
|
||||||
/**
|
|
||||||
*
|
|
||||||
* @time 2019年12月11日
|
|
||||||
* @param $id
|
|
||||||
* @throws \Exception
|
|
||||||
* @return string
|
|
||||||
*/
|
|
||||||
public function edit($id)
|
|
||||||
{}
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
*
|
*
|
||||||
* @time 2019年12月11日
|
* @time 2019年12月11日
|
||||||
* @param $id
|
* @param $id
|
||||||
* @param Request $request
|
* @param Request $request
|
||||||
* @return \think\response\Json
|
* @return Json
|
||||||
*/
|
*/
|
||||||
public function update($id, Request $request)
|
public function update($id, Request $request): Json
|
||||||
{
|
{
|
||||||
|
$permission = $this->permissions->findBy($id);
|
||||||
|
|
||||||
|
// 如果是父分类需要更新所有子分类的模块
|
||||||
|
if (!$permission->parent_id) {
|
||||||
|
$this->permissions->updateBy($permission->parent_id, [
|
||||||
|
'module' => $permission->module,
|
||||||
|
], 'parent_id');
|
||||||
|
}
|
||||||
|
|
||||||
return CatchResponse::success($this->permissions->updateBy($id, $request->param()));
|
return CatchResponse::success($this->permissions->updateBy($id, $request->param()));
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -82,9 +82,9 @@ class Permission extends CatchController
|
|||||||
* @throws \think\db\exception\DataNotFoundException
|
* @throws \think\db\exception\DataNotFoundException
|
||||||
* @throws \think\db\exception\DbException
|
* @throws \think\db\exception\DbException
|
||||||
* @throws \think\db\exception\ModelNotFoundException
|
* @throws \think\db\exception\ModelNotFoundException
|
||||||
* @return \think\response\Json
|
* @return Json
|
||||||
*/
|
*/
|
||||||
public function delete($id)
|
public function delete($id): Json
|
||||||
{
|
{
|
||||||
if ($this->permissions->where('parent_id', $id)->find()) {
|
if ($this->permissions->where('parent_id', $id)->find()) {
|
||||||
throw new FailedException('存在子菜单,无法删除');
|
throw new FailedException('存在子菜单,无法删除');
|
||||||
|
@ -1,6 +1,7 @@
|
|||||||
<?php
|
<?php
|
||||||
namespace catchAdmin\permissions\controller;
|
namespace catchAdmin\permissions\controller;
|
||||||
|
|
||||||
|
use catchAdmin\permissions\model\Permissions;
|
||||||
use catcher\base\CatchRequest as Request;
|
use catcher\base\CatchRequest as Request;
|
||||||
use catcher\base\CatchController;
|
use catcher\base\CatchController;
|
||||||
use catcher\CatchResponse;
|
use catcher\CatchResponse;
|
||||||
@ -66,16 +67,6 @@ class Role extends CatchController
|
|||||||
return CatchResponse::success($role);
|
return CatchResponse::success($role);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
|
||||||
*
|
|
||||||
* @time 2019年12月11日
|
|
||||||
* @param $id
|
|
||||||
* @throws \Exception
|
|
||||||
* @return string
|
|
||||||
*/
|
|
||||||
public function edit($id)
|
|
||||||
{}
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
*
|
*
|
||||||
* @time 2019年12月11日
|
* @time 2019年12月11日
|
||||||
@ -84,7 +75,7 @@ class Role extends CatchController
|
|||||||
* @return Json
|
* @return Json
|
||||||
* @throws \think\db\exception\DbException
|
* @throws \think\db\exception\DbException
|
||||||
*/
|
*/
|
||||||
public function update($id, Request $request)
|
public function update($id, Request $request): Json
|
||||||
{
|
{
|
||||||
$this->role->updateBy($id, $request->param());
|
$this->role->updateBy($id, $request->param());
|
||||||
|
|
||||||
@ -112,7 +103,7 @@ class Role extends CatchController
|
|||||||
* @throws \think\db\exception\ModelNotFoundException
|
* @throws \think\db\exception\ModelNotFoundException
|
||||||
* @return Json
|
* @return Json
|
||||||
*/
|
*/
|
||||||
public function delete($id)
|
public function delete($id): Json
|
||||||
{
|
{
|
||||||
if ($this->role->where('parent_id', $id)->find()) {
|
if ($this->role->where('parent_id', $id)->find()) {
|
||||||
throw new FailedException('存在子角色,无法删除');
|
throw new FailedException('存在子角色,无法删除');
|
||||||
@ -139,7 +130,7 @@ class Role extends CatchController
|
|||||||
*/
|
*/
|
||||||
public function getPermissions(Request $request, \catchAdmin\permissions\model\Permissions $permission): Json
|
public function getPermissions(Request $request, \catchAdmin\permissions\model\Permissions $permission): Json
|
||||||
{
|
{
|
||||||
$parentRoleHasPermissionIds = null;
|
$parentRoleHasPermissionIds = [];
|
||||||
if ($request->param('parent_id')) {
|
if ($request->param('parent_id')) {
|
||||||
$permissions = $this->role->findBy($request->param('parent_id'))->getPermissions();
|
$permissions = $this->role->findBy($request->param('parent_id'))->getPermissions();
|
||||||
foreach ($permissions as $_permission) {
|
foreach ($permissions as $_permission) {
|
||||||
@ -147,9 +138,7 @@ class Role extends CatchController
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
$permissions = Tree::done($permission->getList([
|
$permissions = Tree::done(Permissions::whereIn('id', $parentRoleHasPermissionIds)->select()->toArray());
|
||||||
'permission_ids' => $parentRoleHasPermissionIds
|
|
||||||
]));
|
|
||||||
|
|
||||||
$permissionIds = [];
|
$permissionIds = [];
|
||||||
if ($request->param('role_id')) {
|
if ($request->param('role_id')) {
|
||||||
@ -158,7 +147,7 @@ class Role extends CatchController
|
|||||||
$permissionIds[] = $_permission->pivot->permission_id;
|
$permissionIds[] = $_permission->pivot->permission_id;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
return CatchResponse::success([
|
return CatchResponse::success([
|
||||||
'permissions' => $permissions,
|
'permissions' => $permissions,
|
||||||
'hasPermissions' => $permissionIds,
|
'hasPermissions' => $permissionIds,
|
||||||
|
Loading…
x
Reference in New Issue
Block a user