mirror of
https://github.com/crmeb/CRMEB.git
synced 2026-10-29 22:10:49 +00:00
增加权限分类
This commit is contained in:
parent
e1bac8bbf9
commit
ea30000dd3
@ -93,4 +93,4 @@ Route::group('agent', function () {
|
||||
\app\adminapi\middleware\AdminAuthTokenMiddleware::class,
|
||||
\app\adminapi\middleware\AdminCheckRoleMiddleware::class,
|
||||
\app\adminapi\middleware\AdminLogMiddleware::class
|
||||
]);
|
||||
])->option(['cate_name' => '分销']);
|
||||
|
||||
@ -154,4 +154,4 @@ Route::group('app', function () {
|
||||
\app\adminapi\middleware\AdminAuthTokenMiddleware::class,
|
||||
\app\adminapi\middleware\AdminCheckRoleMiddleware::class,
|
||||
\app\adminapi\middleware\AdminLogMiddleware::class
|
||||
]);
|
||||
])->option(['cate_name' => '应用']);
|
||||
|
||||
@ -52,4 +52,4 @@ Route::group('cms', function () {
|
||||
\app\adminapi\middleware\AdminAuthTokenMiddleware::class,
|
||||
\app\adminapi\middleware\AdminCheckRoleMiddleware::class,
|
||||
\app\adminapi\middleware\AdminLogMiddleware::class
|
||||
]);
|
||||
])->option(['cate_name' => '文章']);
|
||||
|
||||
@ -48,5 +48,5 @@ Route::group(function () {
|
||||
\app\adminapi\middleware\AdminAuthTokenMiddleware::class,
|
||||
\app\adminapi\middleware\AdminCheckRoleMiddleware::class,
|
||||
\app\adminapi\middleware\AdminLogMiddleware::class
|
||||
]);
|
||||
])->option(['cate_name' => '公共']);
|
||||
|
||||
|
||||
@ -32,4 +32,4 @@ Route::group(function () {
|
||||
\app\adminapi\middleware\AdminAuthTokenMiddleware::class,
|
||||
\app\adminapi\middleware\AdminCheckRoleMiddleware::class,
|
||||
\app\adminapi\middleware\AdminLogMiddleware::class
|
||||
]);
|
||||
])->option(['cate_name' => 'CRUD']);
|
||||
|
||||
@ -74,4 +74,4 @@ Route::group('diy', function () {
|
||||
\app\adminapi\middleware\AdminAuthTokenMiddleware::class,
|
||||
\app\adminapi\middleware\AdminCheckRoleMiddleware::class,
|
||||
\app\adminapi\middleware\AdminLogMiddleware::class
|
||||
]);
|
||||
])->option(['cate_name' => 'DIY']);
|
||||
|
||||
@ -60,4 +60,4 @@ Route::group('export', function () {
|
||||
\app\adminapi\middleware\AdminAuthTokenMiddleware::class,
|
||||
\app\adminapi\middleware\AdminCheckRoleMiddleware::class,
|
||||
\app\adminapi\middleware\AdminLogMiddleware::class
|
||||
]);
|
||||
])->option(['cate_name' => '导出']);
|
||||
|
||||
@ -47,4 +47,4 @@ Route::group('file', function () {
|
||||
\app\adminapi\middleware\AdminAuthTokenMiddleware::class,
|
||||
\app\adminapi\middleware\AdminCheckRoleMiddleware::class,
|
||||
\app\adminapi\middleware\AdminLogMiddleware::class
|
||||
]);
|
||||
])->option(['cate_name' => '附件']);
|
||||
|
||||
@ -54,4 +54,4 @@ Route::group('finance', function () {
|
||||
\app\adminapi\middleware\AdminAuthTokenMiddleware::class,
|
||||
\app\adminapi\middleware\AdminCheckRoleMiddleware::class,
|
||||
\app\adminapi\middleware\AdminLogMiddleware::class
|
||||
]);
|
||||
])->option(['cate_name' => '财务']);
|
||||
|
||||
@ -39,4 +39,4 @@ Route::group('freight', function () {
|
||||
\app\adminapi\middleware\AdminAuthTokenMiddleware::class,
|
||||
\app\adminapi\middleware\AdminCheckRoleMiddleware::class,
|
||||
\app\adminapi\middleware\AdminLogMiddleware::class
|
||||
]);
|
||||
])->option(['cate_name' => '物流']);
|
||||
|
||||
@ -68,4 +68,4 @@ Route::group('live', function () {
|
||||
\app\adminapi\middleware\AdminAuthTokenMiddleware::class,
|
||||
\app\adminapi\middleware\AdminCheckRoleMiddleware::class,
|
||||
\app\adminapi\middleware\AdminLogMiddleware::class
|
||||
]);
|
||||
])->option(['cate_name' => '直播']);
|
||||
|
||||
@ -97,9 +97,9 @@ Route::group('marketing', function () {
|
||||
//秒杀统计
|
||||
Route::get('seckill/statistics/head/:id', 'v1.marketing.StoreSeckill/seckillStatistics')->option(['real_name' => '秒杀统计']);
|
||||
//参与活动人员
|
||||
Route::get('seckill/statistics/people/:id','v1.marketing.StoreSeckill/seckillPeople')->option(['real_name' => '秒杀参与人']);
|
||||
Route::get('seckill/statistics/people/:id', 'v1.marketing.StoreSeckill/seckillPeople')->option(['real_name' => '秒杀参与人']);
|
||||
//秒杀订单
|
||||
Route::get('seckill/statistics/order/:id','v1.marketing.StoreSeckill/seckillOrder')->option(['real_name' => '秒杀参与人']);
|
||||
Route::get('seckill/statistics/order/:id', 'v1.marketing.StoreSeckill/seckillOrder')->option(['real_name' => '秒杀参与人']);
|
||||
|
||||
//积分日志列表
|
||||
Route::get('integral', 'v1.marketing.UserPoint/index')->option(['real_name' => '积分日志列表']);
|
||||
@ -196,4 +196,4 @@ Route::group('marketing', function () {
|
||||
\app\adminapi\middleware\AdminAuthTokenMiddleware::class,
|
||||
\app\adminapi\middleware\AdminCheckRoleMiddleware::class,
|
||||
\app\adminapi\middleware\AdminLogMiddleware::class
|
||||
]);
|
||||
])->option(['cate_name' => '营销']);
|
||||
|
||||
@ -53,4 +53,4 @@ Route::group('merchant', function () {
|
||||
\app\adminapi\middleware\AdminAuthTokenMiddleware::class,
|
||||
\app\adminapi\middleware\AdminCheckRoleMiddleware::class,
|
||||
\app\adminapi\middleware\AdminLogMiddleware::class
|
||||
]);
|
||||
])->option(['cate_name' => '物流']);
|
||||
|
||||
@ -48,4 +48,4 @@ Route::group('notify', function () {
|
||||
\app\adminapi\middleware\AdminAuthTokenMiddleware::class,
|
||||
\app\adminapi\middleware\AdminCheckRoleMiddleware::class,
|
||||
\app\adminapi\middleware\AdminLogMiddleware::class
|
||||
]);
|
||||
])->option(['cate_name' => '消息']);
|
||||
|
||||
@ -111,7 +111,7 @@ Route::group('order', function () {
|
||||
\app\adminapi\middleware\AdminAuthTokenMiddleware::class,
|
||||
\app\adminapi\middleware\AdminCheckRoleMiddleware::class,
|
||||
\app\adminapi\middleware\AdminLogMiddleware::class
|
||||
]);
|
||||
])->option(['cate_name' => '订单']);
|
||||
|
||||
/**
|
||||
* 售后 相关路由
|
||||
@ -138,4 +138,4 @@ Route::group('refund', function () {
|
||||
\app\adminapi\middleware\AdminAuthTokenMiddleware::class,
|
||||
\app\adminapi\middleware\AdminCheckRoleMiddleware::class,
|
||||
\app\adminapi\middleware\AdminLogMiddleware::class
|
||||
]);
|
||||
])->option(['cate_name' => '退款']);
|
||||
|
||||
@ -105,4 +105,4 @@ Route::group('product', function () {
|
||||
\app\adminapi\middleware\AdminAuthTokenMiddleware::class,
|
||||
\app\adminapi\middleware\AdminCheckRoleMiddleware::class,
|
||||
\app\adminapi\middleware\AdminLogMiddleware::class
|
||||
]);
|
||||
])->option(['cate_name' => '商品']);
|
||||
|
||||
@ -65,4 +65,4 @@ Route::group('serve', function () {
|
||||
\app\adminapi\middleware\AdminAuthTokenMiddleware::class,
|
||||
\app\adminapi\middleware\AdminCheckRoleMiddleware::class,
|
||||
\app\adminapi\middleware\AdminLogMiddleware::class
|
||||
]);
|
||||
])->option(['cate_name' => '一号通']);
|
||||
|
||||
@ -322,4 +322,4 @@ Route::group('setting', function () {
|
||||
\app\adminapi\middleware\AdminAuthTokenMiddleware::class,
|
||||
\app\adminapi\middleware\AdminCheckRoleMiddleware::class,
|
||||
\app\adminapi\middleware\AdminLogMiddleware::class
|
||||
]);
|
||||
])->option(['cate_name' => '设置']);
|
||||
|
||||
@ -76,4 +76,4 @@ Route::group('statistic', function () {
|
||||
\app\adminapi\middleware\AdminAuthTokenMiddleware::class,
|
||||
\app\adminapi\middleware\AdminCheckRoleMiddleware::class,
|
||||
\app\adminapi\middleware\AdminLogMiddleware::class
|
||||
]);
|
||||
])->option(['cate_name' => '统计']);
|
||||
|
||||
@ -154,7 +154,7 @@ Route::group('system', function () {
|
||||
\app\adminapi\middleware\AdminAuthTokenMiddleware::class,
|
||||
\app\adminapi\middleware\AdminCheckRoleMiddleware::class,
|
||||
\app\adminapi\middleware\AdminLogMiddleware::class
|
||||
]);
|
||||
])->option(['cate_name' => '维护']);
|
||||
|
||||
Route::group('system', function () {
|
||||
|
||||
@ -182,5 +182,5 @@ Route::group('system', function () {
|
||||
\app\adminapi\middleware\AdminCheckRoleMiddleware::class,
|
||||
\app\adminapi\middleware\AdminEditorTokenMiddleware::class,
|
||||
\app\adminapi\middleware\AdminLogMiddleware::class
|
||||
]);
|
||||
])->option(['cate_name' => '文件']);
|
||||
|
||||
|
||||
@ -164,4 +164,4 @@ Route::group('user', function () {
|
||||
\app\adminapi\middleware\AdminAuthTokenMiddleware::class,
|
||||
\app\adminapi\middleware\AdminCheckRoleMiddleware::class,
|
||||
\app\adminapi\middleware\AdminLogMiddleware::class
|
||||
]);
|
||||
])->option(['cate_name' => '用户']);
|
||||
|
||||
@ -145,4 +145,17 @@ class SystemMenusDao extends BaseDao
|
||||
return $this->search(['is_show' => 1, 'auth_type' => 1, 'is_del' => 0, 'is_show_path' => 0])
|
||||
->field('id,pid,menu_name,menu_path,unique_auth,sort')->order('sort DESC')->select();
|
||||
}
|
||||
|
||||
/**
|
||||
* @param string $path
|
||||
* @param string $method
|
||||
* @return bool
|
||||
* @author 等风来
|
||||
* @email 136327134@qq.com
|
||||
* @date 2023/4/20
|
||||
*/
|
||||
public function deleteMenu(string $path, string $method)
|
||||
{
|
||||
return $this->getModel()->where('api_url', $path)->where('methods', $method)->delete();
|
||||
}
|
||||
}
|
||||
|
||||
@ -170,13 +170,13 @@ class SystemRouteServices extends BaseServices
|
||||
* @email 136327134@qq.com
|
||||
* @date 2023/4/11
|
||||
*/
|
||||
public function topCateId(string $app)
|
||||
public function topCateId(string $app, string $name = '全部权限')
|
||||
{
|
||||
$id = app()->make(SystemRouteCateServices::class)->value(['app_name' => $app, 'name' => '全部权限', 'pid' => 0], 'id');
|
||||
$id = app()->make(SystemRouteCateServices::class)->value(['app_name' => $app, 'name' => $name, 'pid' => 0], 'id');
|
||||
if (!$id) {
|
||||
$res = app()->make(SystemRouteCateServices::class)->save([
|
||||
'app_name' => $app,
|
||||
'name' => '全部权限',
|
||||
'name' => $name,
|
||||
'pid' => 0,
|
||||
'add_time' => time(),
|
||||
]);
|
||||
@ -195,21 +195,38 @@ class SystemRouteServices extends BaseServices
|
||||
public function syncRoute(string $app = 'adminapi')
|
||||
{
|
||||
$id = $this->topCateId($app);
|
||||
$commmonId = $this->topCateId($app, '公共权限');
|
||||
$listAll = $this->getRouteListAll($app);
|
||||
|
||||
$list = [];
|
||||
foreach ($listAll as $item) {
|
||||
if (isset($item['option']['is_common']) && $item['option']['is_common']) {
|
||||
$cateId = $commmonId;
|
||||
} else {
|
||||
if (!isset($item['option']['cate_name'])) {
|
||||
$cateId = $id;
|
||||
} else {
|
||||
$cateId = $this->topCateId($app, $item['option']['cate_name']);
|
||||
}
|
||||
}
|
||||
$list[$cateId][] = $item;
|
||||
}
|
||||
//保持新增的权限路由
|
||||
$data = $this->dao->selectList(['app_name' => $app], 'path,method')->toArray();
|
||||
$save = [];
|
||||
foreach ($listAll as $item) {
|
||||
if (!$this->diffRoute($data, $item['rule'], $item['method']) && strstr($item['rule'], '<MISS>') === false) {
|
||||
$save[] = [
|
||||
'name' => $item['option']['real_name'] ?? $item['name'],
|
||||
'path' => $item['rule'],
|
||||
'cate_id' => $id,
|
||||
'app_name' => $app,
|
||||
'type' => isset($item['option']['is_common']) && $item['option']['is_common'] ? 1 : 0,
|
||||
'method' => $item['method'],
|
||||
'add_time' => date('Y-m-d H:i:s'),
|
||||
];
|
||||
foreach ($list as $key => $value) {
|
||||
foreach ($value as $item) {
|
||||
if (!$this->diffRoute($data, $item['rule'], $item['method']) && strstr($item['rule'], '<MISS>') === false) {
|
||||
$save[] = [
|
||||
'name' => $item['option']['real_name'] ?? $item['name'],
|
||||
'path' => $item['rule'],
|
||||
'cate_id' => $key,
|
||||
'app_name' => $app,
|
||||
'type' => isset($item['option']['is_common']) && $item['option']['is_common'] ? 1 : 0,
|
||||
'method' => $item['method'],
|
||||
'add_time' => date('Y-m-d H:i:s'),
|
||||
];
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@ -219,14 +236,26 @@ class SystemRouteServices extends BaseServices
|
||||
//删除不存在的权限路由
|
||||
$data = $this->dao->selectList(['app_name' => $app], 'path,method,id')->toArray();
|
||||
$delete = [];
|
||||
$deleteData = [];
|
||||
foreach ($data as $item) {
|
||||
if (!$this->diffRoute($listAll, $item['path'], $item['method'], 'rule') && $item['path'] !== '<MISS>') {
|
||||
$delete[] = $item['id'];
|
||||
$deleteData[] = [
|
||||
'path' => $item['path'],
|
||||
'methods' => $item['method']
|
||||
];
|
||||
}
|
||||
}
|
||||
//删除不存在的路由
|
||||
if ($delete) {
|
||||
$this->dao->delete([['id', 'in', $delete]]);
|
||||
}
|
||||
//删除不存在的权限
|
||||
if ($deleteData) {
|
||||
foreach ($deleteData as $item) {
|
||||
app()->make(SystemMenusServices::class)->deleteMenu($item['path'], $item['method']);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user