RoleMenuController.php
2.9 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
<?php
/**
* @remark :
* @name :RoleMenuController.php
* @author :lyh
* @method :post
* @time :2023/7/25 14:03
*/
namespace App\Http\Controllers\Aside\Manage;
use App\Enums\Common\Code;
use App\Http\Controllers\Aside\BaseController;
use App\Http\Logic\Aside\Manage\MenuLogic;
use App\Http\Requests\Aside\Manage\GroupRequest;
use App\Models\Manage\Menu;
use Illuminate\Http\Request;
use Illuminate\Support\Facades\Route;
use Illuminate\Support\Str;
/**
* @remark :权限菜单列表
* @name :RoleMenuController
* @author :lyh
* @method :post
* @time :2023/7/25 14:04
*/
class RoleMenuController extends BaseController
{
/**
* @remark :权限菜单列表
* @name :lists
* @author :lyh
* @method :post
* @time :2023/7/25 14:05
*/
public function lists(MenuLogic $menuLogic){
$lists = $menuLogic->roleMenuList(['type'=>0]);
$this->response('success',Code::SUCCESS,$lists);
}
/**
* @remark :当前数据详情
* @name :info
* @author :lyh
* @method :post
* @time :2023/8/2 16:22
*/
public function info(MenuLogic $menuLogic){
$this->request->validate([
'id'=>'required'
],[
'id.required' => 'ID不能为空'
]);
$lists = $menuLogic->roleMenuInfo();
$this->response('success',Code::SUCCESS,$lists);
}
/**
* @remark :获取所有的路由
* @name :routes
* @author :lyh
* @method :post
* @time :2023/7/25 14:44
*/
public function routes(){
//已绑定菜单的路由
$menu_route = array_filter(Menu::pluck('route_name')->toArray());
//路由
$list = [];
$routes = Route::getRoutes()->getRoutesByName();
foreach ($routes as $name => $route) {
if(Str::startsWith($name, 'admin.') && !Str::endsWith($name, '.white') && !in_array($name, $menu_route)){
$list[] = $name;
}
}
$this->response('success',Code::SUCCESS,$list);;
}
/**
* @remark :保存权限菜单
* @name :save
* @author :lyh
* @method :post
* @time :2023/7/25 14:18
*/
public function save(MenuLogic $menuLogic){
if(isset($this->param['id']) && !empty($this->param['id'])){
$this->request->validate([
'id'=>'required'
],[
'id.required' => 'ID不能为空'
]);
}
$menuLogic->roleMenuSave();
$this->response('success');
}
/**
* @remark :删除权限菜单
* @name :del
* @author :lyh
* @method :post
* @time :2023/7/26 9:18
*/
public function del(MenuLogic $menuLogic){
$this->request->validate([
'id'=>'required'
],[
'id.required' => 'ID不能为空'
]);
$menuLogic->roleMenuDel();
$this->response('success');
}
}