Commit 61352f7d authored by hangjun83's avatar hangjun83

整体代码布局调整

parent 11f9979f
...@@ -9,7 +9,7 @@ ...@@ -9,7 +9,7 @@
* with this source code in the file LICENSE. * with this source code in the file LICENSE.
*/ */
namespace App\Http\Middleware; namespace App\Http\Controllers\Middleware;
use App\Repositories\Enums\ResponseCodeEnum; use App\Repositories\Enums\ResponseCodeEnum;
use Closure; use Closure;
...@@ -73,6 +73,16 @@ class Authenticate ...@@ -73,6 +73,16 @@ class Authenticate
$request->headers->set('authorization','bearer'.$decodeToken['hash']); $request->headers->set('authorization','bearer'.$decodeToken['hash']);
} }
//对用户权限进行判断验证
$currentUser = auth()->user();
/*echo "<pre>";
print_r($currentUser->permissions->toArray());
exit;*/
/*echo "<pre>";
print_R($request->route());
exit;*/
return $next($request); return $next($request);
} }
} }
<?php
/*
* This file is part of the Jiannei/lumen-api-starter.
*
* (c) Jiannei <longjian.huang@foxmail.com>
*
* This source file is subject to the MIT license that is bundled
* with this source code in the file LICENSE.
*/
namespace App\Http\Controllers\V1\Auth;
use Illuminate\Http\Request;
use Jiannei\Response\Laravel\Support\Facades\Response;
use App\Http\Controllers\V1\Controller;
use App\Services\AuthService;
use App\Services\RoleAndPermissionsService;
class AuthUserController extends Controller
{
protected $authService = null;
/**
* Create a new AuthController instance.
* @param \App\Services\AuthService $authService
*/
public function __construct(AuthService $authService)
{
$this->authService = $authService;
}
/**
* @param \Illuminate\Http\Request $request
*/
public function login(Request $request)
{
$message = [
'username.required' => "请输入用户名",
'password.required' => "请输入密码",
];
$this->validateRequest($request, $message);
try{
$response = $this->authService->login($request);
return Response::success([
'token' => $response,
], '登陆成功');
}catch(\Exception $exception){
return Response::fail($exception->getMessage(),$exception->getCode());
}
}
/**
* @param \Illuminate\Http\Request $request
*/
public function logout(Request $request)
{
try{
$this->authService->logout($request);
return Response::success(null,'请求成功');
}catch(\Exception $exception){
return Response::fail($exception->getMessage(),$exception->getCode());
}
}
public function addUser(Request $request)
{
$message = [
'username.required' => "用户登陆账号必填",
'password.required' => "密码必填",
'type.required' => "用户类型必选",
'nickname.required' => "用户名称必填",
'email.required' => "邮箱必填",
];
$this->validateRequest($request, $message);
try{
$this->authService->saveOrUpdateUser($request);
return Response::success(null,'请求成功');
}catch(\Exception $exception){
return Response::fail($exception->getMessage(),500);
}
}
public function editUser(Request $request)
{
$message = [
'type.required' => "用户类型必选",
'nickname.required' => "用户名称必填",
'email.required' => "邮箱必填",
];
$this->validateRequest($request, $message);
try{
$this->authService->saveOrUpdateUser($request);
return Response::success(null,'请求成功');
}catch(\Exception $exception){
return Response::fail($exception->getMessage(),500);
}
}
public function changeUserStatus(Request $request, $id)
{
if(!$id){
return Response::fail('缺少id参数',500);
}
try{
$this->authService->updateUserStatus($request,$id);
return Response::success(null,'请求成功');
}catch(\Exception $exception){
return Response::fail($exception->getMessage(),500);
}
}
public function delUserByIds(Request $request)
{
$message = [
'ids.required' => "用户id必传",
];
$this->validateRequest($request, $message);
try{
$this->authService->deleteUser($request);
return Response::success(null,'请求成功');
}catch(\Exception $exception){
return Response::fail($exception->getMessage(),500);
}
}
/**
* 获取用户信息
* @param Request $request
* @return \Illuminate\Http\JsonResponse|\Illuminate\Http\Resources\Json\JsonResource
*/
public function info(Request $request)
{
try{
$user = $this->authService->getUserInfo();
$service = app(RoleAndPermissionsService::class);
$service->getRolesToUser();
return Response::success([
'userinfo' => $user,
], '请求成功');
}catch(\Exception $exception){
return Response::fail($exception->getMessage(),$exception->getCode());
}
}
public function listByPage(Request $request)
{
try{
$service = app(AuthService::class);
$roles = $service->listByPage($request);
return Response::success($service->formatKeysfromArray($roles,'toCamelCase'), '操作成功');
}catch(\Exception $exception){
return Response::fail($exception->getMessage(),500);
}
}
/**
* @param Request $request
* @return \Illuminate\Http\JsonResponse|\Illuminate\Http\Resources\Json\JsonResource
*/
public function resetPassword(Request $request)
{
$message = [
'oldpassword.required' => "请输入旧密码",
'newpassword.required' => "请输入新密码",
];
$this->validateRequest($request, $message);
try{
$response = $this->authService->resetPassword($request);
return Response::success([], '更新成功');
}catch(\Exception $exception){
return Response::fail($exception->getMessage(),$exception->getCode());
}
}
}
...@@ -9,7 +9,7 @@ ...@@ -9,7 +9,7 @@
* with this source code in the file LICENSE. * with this source code in the file LICENSE.
*/ */
namespace App\Http\V1; namespace App\Http\Controllers\V1;
use Jiannei\Response\Laravel\Support\Facades\Response; use Jiannei\Response\Laravel\Support\Facades\Response;
use Jiannei\Response\Laravel\Support\Traits\ExceptionTrait; use Jiannei\Response\Laravel\Support\Traits\ExceptionTrait;
......
...@@ -9,178 +9,26 @@ ...@@ -9,178 +9,26 @@
* with this source code in the file LICENSE. * with this source code in the file LICENSE.
*/ */
namespace App\Http\V1\Auth; namespace App\Http\Controllers\V1;
use App\Repositories\Enums\ResponseCodeEnum; use App\Services\MenusService;
use Illuminate\Http\Request; use Illuminate\Http\Request;
use Jiannei\Response\Laravel\Support\Facades\Response; use Jiannei\Response\Laravel\Support\Facades\Response;
use App\Http\V1\Controller; use App\Http\Controllers\V1\Controller;
use App\Services\AuthService;
use App\Services\RoleAndPermissionsService; use App\Services\RoleAndPermissionsService;
class AuthorizationController extends Controller class PermissionsController extends Controller
{ {
protected $authService = null; protected $roleAndPermissionService = null;
/** /**
* Create a new AuthController instance. * Create a new AuthController instance.
* @param \App\Services\AuthService $authService * @param \App\Services\AuthService $authService
*/ */
public function __construct(AuthService $authService) public function __construct(RoleAndPermissionsService $roleAndPermissionsService)
{ {
$this->authService = $authService; $this->roleAndPermissionService = $roleAndPermissionsService;
}
/**
* @param \Illuminate\Http\Request $request
*/
public function login(Request $request)
{
$message = [
'username.required' => "请输入用户名",
'password.required' => "请输入密码",
];
$this->validateRequest($request, $message);
try{
$response = $this->authService->login($request);
return Response::success([
'token' => $response,
], '登陆成功');
}catch(\Exception $exception){
return Response::fail($exception->getMessage(),$exception->getCode());
}
}
/**
* @param \Illuminate\Http\Request $request
*/
public function logout(Request $request)
{
try{
$this->authService->logout($request);
return Response::success(null,'请求成功');
}catch(\Exception $exception){
return Response::fail($exception->getMessage(),$exception->getCode());
}
}
public function addUser(Request $request)
{
$message = [
'username.required' => "用户登陆账号必填",
'password.required' => "密码必填",
'type.required' => "用户类型必选",
'nickname.required' => "用户名称必填",
'email.required' => "邮箱必填",
];
$this->validateRequest($request, $message);
try{
$this->authService->saveOrUpdateUser($request);
return Response::success(null,'请求成功');
}catch(\Exception $exception){
return Response::fail($exception->getMessage(),500);
}
}
public function editUser(Request $request)
{
$message = [
'type.required' => "用户类型必选",
'nickname.required' => "用户名称必填",
'email.required' => "邮箱必填",
];
$this->validateRequest($request, $message);
try{
$this->authService->saveOrUpdateUser($request);
return Response::success(null,'请求成功');
}catch(\Exception $exception){
return Response::fail($exception->getMessage(),500);
}
}
public function changeUserStatus(Request $request, $id)
{
if(!$id){
return Response::fail('缺少id参数',500);
}
try{
$this->authService->updateUserStatus($request,$id);
return Response::success(null,'请求成功');
}catch(\Exception $exception){
return Response::fail($exception->getMessage(),500);
}
}
public function delUserByIds(Request $request)
{
$message = [
'ids.required' => "用户id必传",
];
$this->validateRequest($request, $message);
try{
$this->authService->deleteUser($request);
return Response::success(null,'请求成功');
}catch(\Exception $exception){
return Response::fail($exception->getMessage(),500);
}
}
/**
* 获取用户信息
* @param Request $request
* @return \Illuminate\Http\JsonResponse|\Illuminate\Http\Resources\Json\JsonResource
*/
public function info(Request $request)
{
try{
$user = $this->authService->getUserInfo();
$service = app(RoleAndPermissionsService::class);
$service->getRolesToUser();
return Response::success([
'userinfo' => $user,
], '请求成功');
}catch(\Exception $exception){
return Response::fail($exception->getMessage(),$exception->getCode());
}
}
public function listByPage(Request $request)
{
try{
$service = app(AuthService::class);
$roles = $service->listByPage($request);
return Response::success($service->formatKeysfromArray($roles,'toCamelCase'), '操作成功');
}catch(\Exception $exception){
return Response::fail($exception->getMessage(),500);
}
}
/**
* @param Request $request
* @return \Illuminate\Http\JsonResponse|\Illuminate\Http\Resources\Json\JsonResource
*/
public function resetPassword(Request $request)
{
$message = [
'oldpassword.required' => "请输入旧密码",
'newpassword.required' => "请输入新密码",
];
$this->validateRequest($request, $message);
try{
$response = $this->authService->resetPassword($request);
return Response::success([], '更新成功');
}catch(\Exception $exception){
return Response::fail($exception->getMessage(),$exception->getCode());
}
} }
/** /**
...@@ -191,10 +39,9 @@ class AuthorizationController extends Controller ...@@ -191,10 +39,9 @@ class AuthorizationController extends Controller
public function getMenuList(Request $request) public function getMenuList(Request $request)
{ {
try{ try{
$service = app(RoleAndPermissionsService::class); $menuList = $this->roleAndPermissionService->getUserRoleMenus();
$menuList = $service->getUserRoleMenus();
return Response::success([ return Response::success([
'data' => $service->getMenusTree($menuList,'page'), 'data' => app(MenusService::class)->getMenusTree($menuList,'page'),
], '请求成功'); ], '请求成功');
}catch(\Exception $exception){ }catch(\Exception $exception){
return Response::fail($exception->getMessage(),$exception->getCode()); return Response::fail($exception->getMessage(),$exception->getCode());
...@@ -209,7 +56,7 @@ class AuthorizationController extends Controller ...@@ -209,7 +56,7 @@ class AuthorizationController extends Controller
public function getAllMenuList(Request $request) public function getAllMenuList(Request $request)
{ {
try{ try{
$service = app(RoleAndPermissionsService::class); $service = app(MenusService::class);
$menuList = $service->getAllMenus(); $menuList = $service->getAllMenus();
$treeMenu = $service->getMenusTree($menuList); $treeMenu = $service->getMenusTree($menuList);
return Response::success([ return Response::success([
...@@ -245,7 +92,7 @@ class AuthorizationController extends Controller ...@@ -245,7 +92,7 @@ class AuthorizationController extends Controller
} }
try{ try{
$service = app(RoleAndPermissionsService::class); $service = app(MenusService::class);
$service->editMenu($request); $service->editMenu($request);
return Response::success([], '更新成功'); return Response::success([], '更新成功');
}catch(\Exception $exception){ }catch(\Exception $exception){
...@@ -256,8 +103,7 @@ class AuthorizationController extends Controller ...@@ -256,8 +103,7 @@ class AuthorizationController extends Controller
public function getDefaultButtonPermission(Request $request) public function getDefaultButtonPermission(Request $request)
{ {
try{ try{
$service = app(RoleAndPermissionsService::class); $buttonPermissions = $this->roleAndPermissionService->getButtonDefaultPermission();
$buttonPermissions = $service->getButtonDefaultPermission();
return Response::success($buttonPermissions, '操作成功'); return Response::success($buttonPermissions, '操作成功');
}catch(\Exception $exception){ }catch(\Exception $exception){
return Response::fail($exception->getMessage(),$exception->getCode()); return Response::fail($exception->getMessage(),$exception->getCode());
...@@ -293,11 +139,11 @@ class AuthorizationController extends Controller ...@@ -293,11 +139,11 @@ class AuthorizationController extends Controller
} }
try{ try{
$service = app(RoleAndPermissionsService::class); $service = app(MenusService::class);
$service->addSubMenu($request); $service->addSubMenu($request);
return Response::success([], '操作成功'); return Response::success([], '操作成功');
}catch(\Exception $exception){ }catch(\Exception $exception){
return Response::fail($exception->getMessage(),$exception->getCode()); return Response::fail($exception->getMessage(),500);
} }
} }
...@@ -309,7 +155,7 @@ class AuthorizationController extends Controller ...@@ -309,7 +155,7 @@ class AuthorizationController extends Controller
$this->validateRequest($request, $message); $this->validateRequest($request, $message);
try{ try{
$service = app(RoleAndPermissionsService::class); $service = app(MenusService::class);
$service->deleteMenus($request); $service->deleteMenus($request);
return Response::success([], '操作成功'); return Response::success([], '操作成功');
}catch(\Exception $exception){ }catch(\Exception $exception){
...@@ -325,9 +171,8 @@ class AuthorizationController extends Controller ...@@ -325,9 +171,8 @@ class AuthorizationController extends Controller
public function getAllByPage(Request $request) public function getAllByPage(Request $request)
{ {
try{ try{
$service = app(RoleAndPermissionsService::class); $roles = $this->roleAndPermissionService->getAllRolesToPage($request);
$roles = $service->getAllRolesToPage($request); return Response::success($this->roleAndPermissionService->formatKeysfromArray($roles,'toCamelCase'), '操作成功');
return Response::success($service->formatKeysfromArray($roles,'toCamelCase'), '操作成功');
}catch(\Exception $exception){ }catch(\Exception $exception){
return Response::fail($exception->getMessage(),$exception->getCode()); return Response::fail($exception->getMessage(),$exception->getCode());
} }
...@@ -336,9 +181,8 @@ class AuthorizationController extends Controller ...@@ -336,9 +181,8 @@ class AuthorizationController extends Controller
public function getAllList(Request $request) public function getAllList(Request $request)
{ {
try{ try{
$service = app(RoleAndPermissionsService::class); $roles = $this->roleAndPermissionService->getAllRolesList($request);
$roles = $service->getAllRolesList($request); return Response::success($this->roleAndPermissionService->formatKeysfromArray($roles,'toCamelCase'), '操作成功');
return Response::success($service->formatKeysfromArray($roles,'toCamelCase'), '操作成功');
}catch(\Exception $exception){ }catch(\Exception $exception){
return Response::fail($exception->getMessage(),$exception->getCode()); return Response::fail($exception->getMessage(),$exception->getCode());
} }
...@@ -353,8 +197,7 @@ class AuthorizationController extends Controller ...@@ -353,8 +197,7 @@ class AuthorizationController extends Controller
$this->validateRequest($request, $message); $this->validateRequest($request, $message);
try{ try{
$service = app(RoleAndPermissionsService::class); $this->roleAndPermissionService->saveRole($request);
$service->saveRole($request);
return Response::success([], '操作成功'); return Response::success([], '操作成功');
}catch(\Exception $exception){ }catch(\Exception $exception){
return Response::fail($exception->getMessage(),500); return Response::fail($exception->getMessage(),500);
...@@ -376,8 +219,7 @@ class AuthorizationController extends Controller ...@@ -376,8 +219,7 @@ class AuthorizationController extends Controller
$this->validateRequest($request, $message); $this->validateRequest($request, $message);
try{ try{
$service = app(RoleAndPermissionsService::class); $this->roleAndPermissionService->saveRole($request);
$service->saveRole($request);
return Response::success([], '操作成功'); return Response::success([], '操作成功');
}catch(\Exception $exception){ }catch(\Exception $exception){
return Response::fail($exception->getMessage(),500); return Response::fail($exception->getMessage(),500);
...@@ -397,8 +239,7 @@ class AuthorizationController extends Controller ...@@ -397,8 +239,7 @@ class AuthorizationController extends Controller
$this->validateRequest($request, $message); $this->validateRequest($request, $message);
try{ try{
$service = app(RoleAndPermissionsService::class); $this->roleAndPermissionService->syncPermissionToRole($request);
$service->syncPermissionToRole($request);
return Response::success([], '操作成功'); return Response::success([], '操作成功');
}catch(\Exception $exception){ }catch(\Exception $exception){
return Response::fail($exception->getMessage(),500); return Response::fail($exception->getMessage(),500);
...@@ -413,8 +254,7 @@ class AuthorizationController extends Controller ...@@ -413,8 +254,7 @@ class AuthorizationController extends Controller
$this->validateRequest($request, $message); $this->validateRequest($request, $message);
try{ try{
$service = app(RoleAndPermissionsService::class); $this->roleAndPermissionService->deleteRoleByIds($request);
$service->deleteRoleByIds($request);
return Response::success([], '操作成功'); return Response::success([], '操作成功');
}catch(\Exception $exception){ }catch(\Exception $exception){
return Response::fail($exception->getMessage(),500); return Response::fail($exception->getMessage(),500);
......
...@@ -53,6 +53,9 @@ class AuthService ...@@ -53,6 +53,9 @@ class AuthService
if( !$user = auth()->attempt($requestCriteria) ){ if( !$user = auth()->attempt($requestCriteria) ){
throw new UnauthorizedHttpException('authroization error','用户登陆授权失败,用户名或密码错误',null,ResponseCodeEnum::CLIENT_PARAMETER_ERROR); throw new UnauthorizedHttpException('authroization error','用户登陆授权失败,用户名或密码错误',null,ResponseCodeEnum::CLIENT_PARAMETER_ERROR);
} }
if(auth()->user()->toArray()['status'] == 0){
throw new UnauthorizedHttpException('authroization error','用户登陆授权失败,该用户已被冻结',null,ResponseCodeEnum::CLIENT_PARAMETER_ERROR);
}
return $this->generateToken($user); return $this->generateToken($user);
}catch(\Exception $exception){ }catch(\Exception $exception){
throw new UnauthorizedHttpException('authroization error',$exception->getMessage(),null,ResponseCodeEnum::SERVICE_LOGIN_ERROR); throw new UnauthorizedHttpException('authroization error',$exception->getMessage(),null,ResponseCodeEnum::SERVICE_LOGIN_ERROR);
...@@ -90,6 +93,11 @@ class AuthService ...@@ -90,6 +93,11 @@ class AuthService
if(!$params['page_size'] || $params['page_size'] == 0){ if(!$params['page_size'] || $params['page_size'] == 0){
$params['page_size'] = 10; $params['page_size'] = 10;
} }
if(isset($params['type'])){
}
$users = $this->userRepository->paginate($params['page_size'],['id','username','nickname','email','token','is_admin','status','lastlogin','created_at','updated_at']); $users = $this->userRepository->paginate($params['page_size'],['id','username','nickname','email','token','is_admin','status','lastlogin','created_at','updated_at']);
$returnRecord = []; $returnRecord = [];
if($users){ if($users){
...@@ -172,8 +180,9 @@ class AuthService ...@@ -172,8 +180,9 @@ class AuthService
// 如果编辑用户时选择了所属角色 // 如果编辑用户时选择了所属角色
if(isset($params['role_ids']) && !empty($params['role_ids'])){ if(isset($params['role_ids']) && !empty($params['role_ids'])){
$ids = explode(',',$params['role_ids']); $ids = explode(',',$params['role_ids']);
$roles = Role::query()->whereIn('id',$ids)->get(); //获取需要分配的角色
if(!$roles){ $toBeAssignRoles = Role::query()->whereIn('id',$ids)->get();
if(!$toBeAssignRoles){
throw new \LogicException('角色不存在'); throw new \LogicException('角色不存在');
} }
...@@ -182,13 +191,13 @@ class AuthService ...@@ -182,13 +191,13 @@ class AuthService
$belongRoles = $user->roles; $belongRoles = $user->roles;
//角色 //角色
if(count($belongRoles->toArray()) > 0){ if(count($belongRoles->toArray()) > 0){
$this->removeUserRoleAndPermission($user, $roles); $this->removeUserRoleAndPermission($user, $belongRoles);
} }
$this->authroizeUserRoleAndPermission($user, $roles); $this->authroizeUserRoleAndPermission($user, $toBeAssignRoles);
}else{ }else{
$roles = $user->roles; $belongRoles = $user->roles;
if(count($roles->toArray()) > 0){ if(count($belongRoles->toArray()) > 0){
$this->removeUserRoleAndPermission($user,$roles); $this->removeUserRoleAndPermission($user,$belongRoles);
} }
} }
} }
......
...@@ -12,10 +12,12 @@ ...@@ -12,10 +12,12 @@
namespace App\Services; namespace App\Services;
use App\Repositories\Enums\ResponseCodeEnum; use App\Repositories\Enums\ResponseCodeEnum;
use App\Repositories\Models\Menus;
use App\Support\Traits\Helpers; use App\Support\Traits\Helpers;
use App\Repositories\Contracts\MenusRepository; use App\Repositories\Contracts\MenusRepository;
use Illuminate\Http\Request; use Illuminate\Http\Request;
use Illuminate\Support\Str; use Illuminate\Support\Str;
use Spatie\Permission\Models\Permission;
use Spatie\Permission\Models\Role; use Spatie\Permission\Models\Role;
use Symfony\Component\HttpKernel\Exception\UnauthorizedHttpException; use Symfony\Component\HttpKernel\Exception\UnauthorizedHttpException;
...@@ -26,13 +28,310 @@ class MenusService ...@@ -26,13 +28,310 @@ class MenusService
use Helpers; use Helpers;
protected $menuRepository = null; protected $menusRepository = null;
public function __construct(MenusRepository $menuRepository) public function __construct(MenusRepository $menuRepository)
{ {
$this->menuRepository = $menuRepository; $this->menusRepository = $menuRepository;
} }
/**
* 添加子菜单
* @param $request
* @return bool
*/
public function addSubMenu($request)
{
$params = $this->formatKeysfromArray($request->all(),'toUnderScore');
$menuModel = app(Menus::class);
$parentMenu = $menuModel->where('id',$params['parent_id'])->first();
if(!$parentMenu){
throw new \LogicException('上级菜单不存在!',500);
}
if('button' == $params['type']){
$permission = Permission::query()->where(['menu_id' => 0, 'sys_default' => 1,'guard_name' => config('auth.defaults.guard'), 'action' => $params['button_type']])->first();
if(!$permission){
throw new \LogicException('按钮动作不存在!',500);
}
}
$filterParams = [];
collect($this->menusRepository->rules['create'])->map(function($rule,$key) use ($params, &$filterParams){
if(isset($params[$key]) && !empty($params[$key])){
$filterParams[$key] = $params[$key];
} else{
$filterParams[$key] = '';
}
});
$filterParams['created_by'] = auth()->user()->id;
$filterParams['menu_icon'] = $params['icon'];
$filterParams['component'] = $params['component'];
$filterParams['status'] = intval($params['status']);
$filterParams = collect($filterParams)->map(function($value,$key) use ($params){
if($value == ''){
switch($key){
case 'menu_name' : $value = $params['title']; break;
case 'menu_path' : $value = $params['path']; break;
case 'menu_icon' : $value = $params['icon']; break;
case 'menu_type' : $value = $params['type']; break;
case 'is_show' : $value = 1; break;
case 'sys_default' : $value = 0; break;
}
}
return $value;
});
$result = $this->menusRepository->create($filterParams->toArray());
if($result){
$permission = [];
$permission['name'] = $result['menu_name'];
$permission['menu_id'] = $result['id'];
$permission['action'] = $params['button_type'];
$permission['permission_type'] = 'menu';
$permission['sys_default'] = 0;
$permission['remark'] = $result['menu_name'].'的相关权限';
$permission['guard_name'] = config('auth.defaults.guard');
//增加对应的按钮权限
$permissionResult = Permission::create($permission);
// 如果是管理员,自动绑定赋予权限
if(auth()->user()->isSuperAdmin()){
if($permissionResult){
app(RoleAndPermissionsService::class)->assignRoleAndPermissionToUser($permissionResult, auth()->user());
}
}
}
return true;
}
/**
* 删除菜单
* @param $request
*/
public function deleteMenus($request)
{
$params = $this->formatKeysfromArray($request->all(),'toUnderScore');
$menuModel = app(Menus::class);
$menu_ids = explode(',',$params['ids']);
if(!$menus = $menuModel->whereIn('id',$menu_ids)->get()){
throw new \LogicException('选中的菜单不存在!',500);
}
//判断该菜单下面是否有其他子菜单
$parent_menus = $menuModel->whereIn('id',$menu_ids)->get();
if($parent_menus){
$notFatherMenus = [];
$checkedMenus = [];
collect($parent_menus)->map(function($menu) use (&$notFatherMenus, &$checkedMenus){
if(count($notFatherMenus) == 0){
$notFatherMenus[$menu['id']] = $menu;
}else{
if(isset($notFatherMenus[$menu['parent_id']])){
unset($notFatherMenus[$menu['parent_id']]);
$checkedMenus[] = $menu['parent_id'];
}else{
if(!in_array($menu['parent_id'],$checkedMenus)){
$notFatherMenus[$menu['id']] = $menu;
}
}
}
});
if(count($notFatherMenus) > 0){
if(count($menuModel->whereIn('parent_id',array_keys($notFatherMenus))->get()->toArray()) > 0 ){
throw new \LogicException('选中的菜单中有子菜单存在,无法删除该菜单。',500);
}
}
}
//判断选中的菜单是否已被赋予权限给到用户组
//查询该菜单对应的权限数据
$menuPermission = Permission::query()->whereIn('menu_id',$menu_ids)->get();
if($menuPermission){
$allRoles = Role::all();
if($allRoles){
$hasPermission = false;
collect($allRoles)->map(function($role) use ($menuPermission, &$hasPermission){
collect($menuPermission)->map(function($permission) use ($role, &$hasPermission){
if($role->hasPermissionTo($permission)){
$hasPermission = true ;
}
});
});
if($hasPermission){
throw new \LogicException('用户权限中已经包含该菜单权限,请先取消角色中该菜单的权限,在进行删除操作.',500);
}
//删除对应的菜单
collect($menus)->map(function($menu) use ($menuPermission){
$menu->delete();
//删除对应的菜单权限
collect($menuPermission)->map(function($permission){
$permission->delete();
});
});
}
}
}
/**
* 编辑菜单
* @param Request $request
* @return mixed
*/
public function editMenu(Request $request)
{
$params = $this->formatKeysfromArray($request->all(),'toUnderScore');
$menuModel = app(Menus::class);
$menu = $menuModel->where('id',$params['id'])->first();
if(!$menu){
throw new \LogicException('此菜单不存在!',500);
}
$parentMenu = $menuModel->where('id',$params['parent_id'])->first();
if(!$parentMenu){
throw new \LogicException('上级菜单不存在!',500);
}
if(!in_array($params['menu_type'],['top','page','button'])){
throw new \LogicException('菜单类型不正确!',500);
}
$params['menu_name'] = $params['title'];
$params['menu_path'] = $params['path'];
$params['menu_icon'] = $params['icon'];
// 根据role规则重组 user
$updateMenus = [];
collect($this->menusRepository->rules['update'])->map(function($rule,$key) use ($params, &$updateMenus){
if($key != 'id'){
$updateMenus[$key] = $params[$key];
}
});
$updateMenus['component'] = $params['component'];
$updateMenus['created_by'] = auth()->user()->id;
$result = $this->menusRepository->update($updateMenus,$params['id']);
return $result;
}
/**
* 获取所有菜单列表
* @return array
* @throws \Psr\Container\ContainerExceptionInterface
*
* @throws \Psr\Container\NotFoundExceptionInterface
*/
public function getAllMenus()
{
$menuModel = app(Menus::class);
$allMenus = $menuModel->get();
// key_name转换
$parent_id = [];
$menusList = collect($allMenus)->map(function($menu) use (&$parent_id){
$newMenu = [
'name' => $menu->menu_name,
'title' => $menu->menu_name,
'path' => $menu->menu_path,
'icon' => $menu->menu_icon,
'expand' => true,
'checked' => false
];
if($menu->parent_id > 0 && $menu->menu_type != 'top'){
$parent_id[] = $menu->parent_id;
}
$menuArr = $menu->toArray();
unset($menuArr['menu_name']);
unset($menuArr['menu_path']);
unset($menuArr['menu_icon']);
return array_merge($newMenu,$menuArr);
});
$parentMenu = $menuModel->whereIn('id',$parent_id)->get();
$menusList = collect($menusList)->map(function($menu) use ($parentMenu){
$parent_id = $menu['parent_id'];
if($parent_id > 0){
$parentName = collect($parentMenu)->map(function($m) use (&$menu,$parent_id){
if($m->id == $parent_id){
$menu['parent_title'] = $m->menu_name;
}
});
}
return $menu;
});
return $menusList->toArray();
}
/**
* 获取菜单结构树
* level : all (全部) top (只显示顶部) page (只显示2级,不包括button级)
* @param $menus
* @return false|mixed
*/
public function getMenusTree($menus, $level = 'all')
{
$treeMenus = [];
collect($menus)->map(function($menu) use (&$treeMenus, $level){
if($menu['parent_id'] == -1 && 'top' == $menu['menu_type']){
$treeMenus[$menu['id']] = $menu;
$treeMenus[$menu['id']]['level'] = 0;
}else{
if('top' == $level){
return ;
}elseif('page' == $level){
if('page' == $menu['menu_type']) {
if($menu['parent_id'] == 0) {
$treeMenus[$menu['id']] = $menu;
$treeMenus[$menu['id']]['level'] = 1;
}else{
$treeMenus = $this->getChildrenTree($treeMenus,$menu);
}
}
}else{
if($menu['parent_id'] == 0) {
$treeMenus[$menu['id']] = $menu;
$treeMenus[$menu['id']]['level'] = 1;
}else{
$treeMenus = $this->getChildrenTree($treeMenus,$menu);
}
}
}
});
return array_values($treeMenus);
}
/**
* 递归树形结构菜单
* @param $treeMenus
* @param $currMenu
* @return array
*/
private function getChildrenTree($treeMenus,$currMenu) : array
{
$returnTreeMenus = collect($treeMenus)->map(function($tMenus) use ($currMenu){
if(!isset($tMenus['children']) || empty($tMenus['children'])){
if($currMenu['parent_id'] == $tMenus['id']){
$currMenu['level'] = (int)$tMenus['level'] + 1;
$tMenus['children'][] = $currMenu;
}
} // 如果有children的话,进行递归循环
else{
if($currMenu['parent_id'] == $tMenus['id']){
$currMenu['level'] = (int)$tMenus['level'] + 1;
$tMenus['children'][] = $currMenu;
}else{
$tMenus['children'] = $this->getChildrenTree($tMenus['children'],$currMenu);
}
}
return $tMenus;
});
return $returnTreeMenus->toArray();
}
} }
...@@ -28,7 +28,6 @@ class RoleAndPermissionsService ...@@ -28,7 +28,6 @@ class RoleAndPermissionsService
public function __construct(MenusRepository $menusRepository) public function __construct(MenusRepository $menusRepository)
{ {
$this->user = auth()->user();
$this->menusRepository = $menusRepository; $this->menusRepository = $menusRepository;
} }
...@@ -37,7 +36,7 @@ class RoleAndPermissionsService ...@@ -37,7 +36,7 @@ class RoleAndPermissionsService
*/ */
public function getRolesToUser($user = null){ public function getRolesToUser($user = null){
if($user == null){ if($user == null){
$user = $this->user; $user = auth()->user();
} }
$this->getAllPermissions($user); $this->getAllPermissions($user);
$role = $user->roles; $role = $user->roles;
...@@ -45,7 +44,7 @@ class RoleAndPermissionsService ...@@ -45,7 +44,7 @@ class RoleAndPermissionsService
} }
public function getUserPermissions(){ public function getUserPermissions(){
$role = $this->getAllPermissions($this->user); $role = $this->getAllPermissions(auth()->user());
} }
/** /**
...@@ -108,7 +107,7 @@ class RoleAndPermissionsService ...@@ -108,7 +107,7 @@ class RoleAndPermissionsService
*/ */
public function getUserRoleMenus() public function getUserRoleMenus()
{ {
$permissions = $this->getAllPermissions($this->user); $permissions = $this->getAllPermissions(auth()->user());
$menuIds = collect($permissions)->map(function($permission){ $menuIds = collect($permissions)->map(function($permission){
if($permission instanceof \Spatie\Permission\Models\Permission){ if($permission instanceof \Spatie\Permission\Models\Permission){
$permission = $permission->toArray(); $permission = $permission->toArray();
...@@ -129,281 +128,6 @@ class RoleAndPermissionsService ...@@ -129,281 +128,6 @@ class RoleAndPermissionsService
return empty($menuList) || NULL ? [] : $menuList; return empty($menuList) || NULL ? [] : $menuList;
} }
/**
* 获取所有菜单列表
* @return array
* @throws \Psr\Container\ContainerExceptionInterface
*
* @throws \Psr\Container\NotFoundExceptionInterface
*/
public function getAllMenus()
{
$menuModel = app(Menus::class);
$allMenus = $menuModel->get();
// key_name转换
$parent_id = [];
$menusList = collect($allMenus)->map(function($menu) use (&$parent_id){
$newMenu = [
'name' => $menu->menu_name,
'title' => $menu->menu_name,
'path' => $menu->menu_path,
'icon' => $menu->menu_icon,
'expand' => true,
'checked' => false
];
if($menu->parent_id > 0 && $menu->menu_type != 'top'){
$parent_id[] = $menu->parent_id;
}
$menuArr = $menu->toArray();
unset($menuArr['menu_name']);
unset($menuArr['menu_path']);
unset($menuArr['menu_icon']);
return array_merge($newMenu,$menuArr);
});
$parentMenu = $menuModel->whereIn('id',$parent_id)->get();
$menusList = collect($menusList)->map(function($menu) use ($parentMenu){
$parent_id = $menu['parent_id'];
if($parent_id > 0){
$parentName = collect($parentMenu)->map(function($m) use (&$menu,$parent_id){
if($m->id == $parent_id){
$menu['parent_title'] = $m->menu_name;
}
});
}
return $menu;
});
return $menusList->toArray();
}
/**
* 获取菜单结构树
* level : all (全部) top (只显示顶部) page (只显示2级,不包括button级)
* @param $menus
* @return false|mixed
*/
public function getMenusTree($menus, $level = 'all')
{
$treeMenus = [];
collect($menus)->map(function($menu) use (&$treeMenus, $level){
if($menu['parent_id'] == -1 && 'top' == $menu['menu_type']){
$treeMenus[$menu['id']] = $menu;
$treeMenus[$menu['id']]['level'] = 0;
}else{
if('top' == $level){
return ;
}elseif('page' == $level){
if('page' == $menu['menu_type']) {
if($menu['parent_id'] == 0) {
$treeMenus[$menu['id']] = $menu;
$treeMenus[$menu['id']]['level'] = 1;
}else{
$treeMenus = $this->getChildrenTree($treeMenus,$menu);
}
}
}else{
if($menu['parent_id'] == 0) {
$treeMenus[$menu['id']] = $menu;
$treeMenus[$menu['id']]['level'] = 1;
}else{
$treeMenus = $this->getChildrenTree($treeMenus,$menu);
}
}
}
});
return array_values($treeMenus);
}
/**
* 递归树形结构菜单
* @param $treeMenus
* @param $currMenu
* @return array
*/
private function getChildrenTree($treeMenus,$currMenu) : array
{
$returnTreeMenus = collect($treeMenus)->map(function($tMenus) use ($currMenu){
if(!isset($tMenus['children']) || empty($tMenus['children'])){
if($currMenu['parent_id'] == $tMenus['id']){
$currMenu['level'] = (int)$tMenus['level'] + 1;
$tMenus['children'][] = $currMenu;
}
} // 如果有children的话,进行递归循环
else{
if($currMenu['parent_id'] == $tMenus['id']){
$currMenu['level'] = (int)$tMenus['level'] + 1;
$tMenus['children'][] = $currMenu;
}else{
$tMenus['children'] = $this->getChildrenTree($tMenus['children'],$currMenu);
}
}
return $tMenus;
});
return $returnTreeMenus->toArray();
}
/**
* 编辑菜单
* @param Request $request
* @return mixed
*/
public function editMenu(Request $request)
{
$params = $this->formatKeysfromArray($request->all(),'toUnderScore');
$menuModel = app(Menus::class);
$menu = $menuModel->where('id',$params['id'])->first();
if(!$menu){
throw new \LogicException('此菜单不存在!',500);
}
$parentMenu = $menuModel->where('id',$params['parent_id'])->first();
if(!$parentMenu){
throw new \LogicException('上级菜单不存在!',500);
}
if(!in_array($params['menu_type'],['top','page','button'])){
throw new \LogicException('菜单类型不正确!',500);
}
$params['menu_name'] = $params['title'];
$params['menu_path'] = $params['path'];
$params['menu_icon'] = $params['icon'];
// 根据role规则重组 user
$updateMenus = [];
collect($this->menusRepository->rules['update'])->map(function($rule,$key) use ($params, &$updateMenus){
if($key != 'id'){
$updateMenus[$key] = $params[$key];
}
});
$updateMenus['created_by'] = $this->user->id;
$result = $this->menusRepository->update($updateMenus,$params['id']);
return $result;
}
/**
* 添加子菜单
* @param $request
* @return bool
*/
public function addSubMenu($request)
{
$params = $this->formatKeysfromArray($request->all(),'toUnderScore');
$menuModel = app(Menus::class);
$parentMenu = $menuModel->where('id',$params['parent_id'])->first();
if(!$parentMenu){
throw new \LogicException('上级菜单不存在!',500);
}
if('button' == $params['type']){
$permission = Permission::query()->where(['menu_id' => 0, 'sys_default' => 1,'guard_name' => config('auth.defaults.guard'), 'action' => $params['button_type']])->first();
if(!$permission){
throw new \LogicException('按钮动作不存在!',500);
}
}
$filterParams = [];
collect($this->menusRepository->rules['create'])->map(function($rule,$key) use ($params, &$filterParams){
if(isset($params[$key]) && !empty($params[$key])){
$filterParams[$key] = $params[$key];
} else{
$filterParams[$key] = '';
}
});
$filterParams['created_by'] = $this->user->id;
$filterParams['menu_icon'] = $params['icon'];
$filterParams['component'] = $params['component'];
$filterParams['status'] = intval($params['status']);
$filterParams = collect($filterParams)->map(function($value,$key) use ($params){
if($value == ''){
switch($key){
case 'menu_name' : $value = $params['title']; break;
case 'menu_path' : $value = $params['path']; break;
case 'menu_icon' : $value = $params['icon']; break;
case 'menu_type' : $value = $params['type']; break;
case 'is_show' : $value = 1; break;
case 'sys_default' : $value = 0; break;
}
}
return $value;
});
$result = $this->menusRepository->create($filterParams->toArray());
if($result){
$permission = [];
$permission['name'] = $result['menu_name'];
$permission['menu_id'] = $result['id'];
$permission['action'] = $params['button_type'];
$permission['permission_type'] = 'menu';
$permission['sys_default'] = 0;
$permission['remark'] = $result['menu_name'].'的相关权限';
$permission['guard_name'] = config('auth.defaults.guard');
//增加对应的按钮权限
$permissionResult = Permission::create($permission);
// 如果是管理员,自动绑定赋予权限
if($this->user->isSuperAdmin()){
if($permissionResult){
$this->assignRoleAndPermissionToUser($permissionResult,$this->user);
}
}
}
return true;
}
public function deleteMenus($request)
{
$params = $this->formatKeysfromArray($request->all(),'toUnderScore');
$menuModel = app(Menus::class);
$menu_ids = explode(',',$params['ids']);
if(!$menus = $menuModel->whereIn('id',$menu_ids)->get()){
throw new \LogicException('选中的菜单不存在!',500);
}
//判断该菜单下面是否有其他子菜单
/*if($menuModel->whereIn('parent_id',$menu_ids)->get()){
throw new \LogicException('选中的菜单中有子菜单存在,无法删除该菜单。',500);
}*/
//判断选中的菜单是否已被赋予权限给到用户组
//查询该菜单对应的权限数据
$menuPermission = Permission::query()->whereIn('menu_id',$menu_ids)->get();
if($menuPermission){
$allRoles = Role::all();
if($allRoles){
$hasPermission = false;
collect($allRoles)->map(function($role) use ($menuPermission, &$hasPermission){
collect($menuPermission)->map(function($permission) use ($role, &$hasPermission){
if($role->hasPermissionTo($permission)){
$hasPermission = true ;
}
});
});
if($hasPermission){
throw new \LogicException('用户权限中已经包含该菜单权限,请先取消角色中该菜单的权限,在进行删除操作.',500);
}
//删除对应的菜单
collect($menus)->map(function($menu) use ($menuPermission){
$menu->delete();
//删除对应的菜单权限
collect($menuPermission)->map(function($permission){
$permission->delete();
});
});
}
}
}
/** /**
* 同步指定权限给指定用户 * 同步指定权限给指定用户
* @param $permission * @param $permission
......
...@@ -33,11 +33,10 @@ $app = new Laravel\Lumen\Application( ...@@ -33,11 +33,10 @@ $app = new Laravel\Lumen\Application(
); );
$app->withFacades(); $app->withFacades();
$app->withEloquent();
//$app->register(Jenssegers\Mongodb\MongodbServiceProvider::class); //$app->register(Jenssegers\Mongodb\MongodbServiceProvider::class);
$app->withEloquent();
/* /*
|-------------------------------------------------------------------------- |--------------------------------------------------------------------------
| Register Container Bindings | Register Container Bindings
...@@ -104,7 +103,7 @@ $app->middleware([ ...@@ -104,7 +103,7 @@ $app->middleware([
]); ]);
$app->routeMiddleware([ $app->routeMiddleware([
'superadmin' => App\Http\Middleware\Authenticate::class, 'permissions' => App\Http\Controllers\Middleware\Authenticate::class,
//'userRole' => App\Http\Middleware\UserPermissionMiddleware::class, //'userRole' => App\Http\Middleware\UserPermissionMiddleware::class,
//'enum' => \Jiannei\Enum\Laravel\Http\Middleware\TransformEnums::class, //'enum' => \Jiannei\Enum\Laravel\Http\Middleware\TransformEnums::class,
//'permission' => \Spatie\Permission\Middlewares\PermissionMiddleware::class, //'permission' => \Spatie\Permission\Middlewares\PermissionMiddleware::class,
......
...@@ -8,5 +8,6 @@ ...@@ -8,5 +8,6 @@
$api = app('Dingo\Api\Routing\Router'); $api = app('Dingo\Api\Routing\Router');
require __DIR__.'/../routes/api/auth.php'; require __DIR__.'/../routes/api/auth.php';
require __DIR__.'/../routes/api/permissions.php';
return $app; return $app;
...@@ -13,44 +13,28 @@ ...@@ -13,44 +13,28 @@
$api->version('v1', function($api) { $api->version('v1', function($api) {
$api->group(['namespace'=>'App\Http\V1\Auth','middleware' => ['api.auth','superadmin'], 'providers' => 'jwt'], function($api) { $api->group(['namespace'=>'App\Http\Controllers\V1\Auth','middleware' => ['api.auth','permissions'], 'providers' => 'jwt'], function($api) {
//用户相关 //用户相关
$api->post('/adminapi/user/add', ['uses'=>'AuthorizationController@addUser']); $api->post('/adminapi/user/add', ['permission' => 'user.add', 'uses'=>'AuthUserController@addUser']);
$api->post('/adminapi/user/edit', ['uses'=>'AuthorizationController@editUser']); $api->post('/adminapi/user/edit', ['permission' => 'user.edit', 'uses'=>'AuthUserController@editUser']);
$api->get('/adminapi/user/info', ['uses'=>'AuthorizationController@info']); $api->get('/adminapi/user/info', ['permission' => 'user.info', 'uses'=>'AuthUserController@info']);
$api->post('/adminapi/auth/resetPassword', ['uses'=>'AuthorizationController@resetPassword']); $api->post('/adminapi/auth/resetPassword', ['permission' => 'auth.reset_password', 'uses'=>'AuthUserController@resetPassword']);
$api->get('/adminapi/user/listByPage', ['uses'=>'AuthorizationController@listByPage']); $api->get('/adminapi/user/listByPage', ['permission' => 'user.list_by_page', 'uses'=>'AuthUserController@listByPage']);
$api->post('/adminapi/user/disable/{id}', ['uses'=>'AuthorizationController@changeUserStatus']); $api->post('/adminapi/user/disable/{id}', ['permission' => 'user.disable', 'uses'=>'AuthUserController@changeUserStatus']);
$api->post('/adminapi/user/enable/{id}', ['uses'=>'AuthorizationController@changeUserStatus']); $api->post('/adminapi/user/enable/{id}', ['permission' => 'user.enable', 'uses'=>'AuthUserController@changeUserStatus']);
$api->post('/adminapi/user/delByIds', ['uses'=>'AuthorizationController@delUserByIds']); $api->post('/adminapi/user/delByIds', ['permission' => 'user.del_by_ids', 'uses'=>'AuthUserController@delUserByIds']);
//菜单相关
$api->get('/adminapi/permission/menu/list', ['uses'=>'AuthorizationController@getMenuList']);
$api->post('/adminapi/permission/menu/edit', ['uses'=>'AuthorizationController@editMenus']);
$api->post('/adminapi/permission/menu/sub_add', ['uses'=>'AuthorizationController@addSubMenus']);
$api->post('/adminapi/permission/menu/del', ['uses'=>'AuthorizationController@deleteMenus']);
$api->get('/adminapi/permission/menu/all', ['uses'=>'AuthorizationController@getAllMenuList']);
//用户组相关
$api->get('/adminapi/permission/role/getAllByPage', ['uses'=>'AuthorizationController@getAllByPage']);
$api->get('/adminapi/permission/role/getAllList', ['uses'=>'AuthorizationController@getAllList']);
$api->post('/adminapi/permission/role/add', ['uses'=>'AuthorizationController@addRole']);
$api->post('/adminapi/permission/role/edit', ['uses'=>'AuthorizationController@editRole']);
$api->post('/adminapi/permission/role/delByIds', ['uses'=>'AuthorizationController@delByIds']);
$api->post('/adminapi/permission/role/editRolePermission', ['uses'=>'AuthorizationController@editRolePermission']);
$api->get('/adminapi/permission/dictData/defaultButtonPermission', ['uses'=>'AuthorizationController@getDefaultButtonPermission']);
}); });
//用户登陆 //用户登陆
$api->group(['namespace'=>'App\Http\V1\Auth'], function($api) { $api->group(['namespace'=>'App\Http\Controllers\V1\Auth'], function($api) {
$api->post('/adminapi/auth/login', ['uses'=>'AuthorizationController@login']); $api->post('/adminapi/auth/login', ['uses'=>'AuthUserController@login']);
}); });
//用户登出 //用户登出
$api->group(['namespace'=>'App\Http\V1\Auth','middleware' => ['superadmin']], function($api) { $api->group(['namespace'=>'App\Http\Controllers\V1\Auth','middleware' => ['superadmin']], function($api) {
$api->get('/adminapi/auth/logout', ['uses'=>'AuthorizationController@logout']); $api->get('/adminapi/auth/logout', ['uses'=>'AuthUserController@logout']);
}); });
}); });
......
<?php
/*
|--------------------------------------------------------------------------
| Application Routes
|--------------------------------------------------------------------------
|
| Here is where you can register all of the routes for an application.
| It is a breeze. Simply tell Lumen the URIs it should respond to
| and give it the Closure to call when that URI is requested.
|
*/
$api->version('v1', function($api) {
$api->group(['namespace'=>'App\Http\Controllers\V1','middleware' => ['api.auth','permissions'], 'providers' => 'jwt'], function($api) {
//菜单相关
$api->get('/adminapi/permission/menu/list', ['permission' => 'permission.menu.list', 'uses'=>'PermissionsController@getMenuList']);
$api->post('/adminapi/permission/menu/edit', ['permission' => 'permission.menu.edit', 'uses'=>'PermissionsController@editMenus']);
$api->post('/adminapi/permission/menu/sub_add', ['permission' => 'permission.menu.sub_add', 'uses'=>'PermissionsController@addSubMenus']);
$api->post('/adminapi/permission/menu/del', ['permission' => 'permission.menu.del', 'uses'=>'PermissionsController@deleteMenus']);
$api->get('/adminapi/permission/menu/all', ['permission' => 'permission.menu.all', 'uses'=>'PermissionsController@getAllMenuList']);
//角色相关
$api->get('/adminapi/permission/role/getAllByPage', ['permission' => 'permission.role.get_all_by_page', 'uses'=>'PermissionsController@getAllByPage']);
$api->get('/adminapi/permission/role/getAllList', ['permission' => 'permission.role.get_all_list', 'uses'=>'PermissionsController@getAllList']);
$api->post('/adminapi/permission/role/add', ['permission' => 'permission_role_add', 'uses'=>'PermissionsController@addRole']);
$api->post('/adminapi/permission/role/edit', ['permission' => 'permission.role.edit', 'uses'=>'PermissionsController@editRole']);
$api->post('/adminapi/permission/role/delByIds', ['permission' => 'permission.role.del_by_ids', 'uses'=>'PermissionsController@delByIds']);
$api->post('/adminapi/permission/role/editRolePermission', ['permission' => 'permission.role.edit_role_permission', 'uses'=>'PermissionsController@editRolePermission']);
$api->get('/adminapi/permission/dictData/defaultButtonPermission', ['permission' => 'permission.dict_data.default_button_permission', 'uses'=>'PermissionsController@getDefaultButtonPermission']);
});
});
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment