1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586 |
- <?php
- namespace App\Services;
- //use App\AdminLinks;
- //use App\Http\Controllers\Channel\ChannelCommonController;
- //use App\PayrollOrder;
- //use App\SettleAccountLog;
- //use App\UserInfoCheck;
- //use App\Withdrawal;
- //use App\WithdrawalBatch;
- class PermissionService{
- //不要权限就能访问的组
- public static function getIgnorePermissionGroups(){
- return [
- 'login', 'upload_to_tester', 'logout', 'index'
- ];
- }
- //不要权限就能访问的页面
- public static function getIgnorePermissions(){
- return [
- 'admin.dashboard.index', 'admin.upload_to_tester', 'admin.login', 'admin.index', 'admin.logout','admin.merchant.index'
- ];
- }
- //不是权限组的页面
- public static function getIgnoreGroups(){
- return [
- 'dashboard', 'index'
- ];
- }
- //需要获取权限的组数组
- public static function getPermissionGroupsMap(){
- return [
- '统计管理' => 'dashboard',
- '支部管理' => 'team',
- '党员管理' => 'member',
- '转出管理' => 'rollout',
- '收费管理' => 'charge',
- '承诺书管理' => 'book',
- '后台管理' => 'adminer',
- ];
- }
- public static function isIgnored($permission){
- return in_array($permission, self::getIgnorePermissions());
- }
- public static function getAdminRoutesGroups()
- {
- // 获取组名映射表
- $groups_map = self::getPermissionGroupsMap();
- // 获取或有路由->getRoutesByName()
- $all_routes = app()['router']->getRoutes();
- // 过滤总后台路由
- $admin_routes = array_filter($all_routes, function ($route) {
- $a= app('Dingo\Api\Routing\Router');
- $aa=$a->getPrefix();
- $c=app();
- var_dump($c);
- var_dump($a,$aa);exit;
- return $route->getPrefix() === '/admin';
- });
- $routes_groups = [];
- // 按模块分组
- foreach ($admin_routes as $route) {
- $group = $route->action['group'] ?? false;
- // 过滤指定组
- if ($group && array_key_exists($group, $groups_map)) {
- $routes_groups[$group][] = $route;
- }
- }
- return $routes_groups;
- }
- }
|