study-api-v2/routes/admin/system_route.php
hx a621de91ff feat(system): 添加系统菜单、角色菜单关联和用户角色关联功能- 新增系统菜单模型、控制器、请求验证和业务逻辑
- 新增角色菜单关联模型、控制器、请求验证和业务逻辑
- 新增用户角色关联模型、控制器、请求验证和业务逻辑
- 更新系统角色模型,增加与用户和菜单的关联
- 更新用户模型,增加与角色的关联和相关方法
- 在路由文件中添加新功能的路由定义
2025-07-15 01:14:15 +08:00

127 lines
7.0 KiB
PHP

<?php
use Illuminate\Support\Facades\Route;
/** -------------------------- 系统角色 ----------------------- */
Route::middleware("admin")->group(function () {
// 获取系统角色详情
Route::match(['get', 'post'], "system/role/detail", [App\Http\Controllers\Admin\System\SystemRoleController::class, 'detail']);
// 创建系统角色
Route::match(['get', 'post'], "system/role/create", [App\Http\Controllers\Admin\System\SystemRoleController::class, 'create']);
// 更新系统角色
Route::match(['put', 'post'], "system/role/update", [App\Http\Controllers\Admin\System\SystemRoleController::class, 'update']);
// 删除系统角色
Route::match(['delete', 'post'], "system/role/delete", [App\Http\Controllers\Admin\System\SystemRoleController::class, 'delete']);
// 获取系统角色列表
Route::match(['get', 'post'], "system/role/list", [App\Http\Controllers\Admin\System\SystemRoleController::class, 'list']);
// 获取简单列表
Route::match(['get', 'post'], "system/role/simple/list", [App\Http\Controllers\Admin\System\SystemRoleController::class, 'simpleList']);
// 批量删除系统角色
Route::match(['delete', 'post'], "system/role/batch/delete", [App\Http\Controllers\Admin\System\SystemRoleController::class, 'batchDelete']);
// 批量更新状态
Route::match(['put', 'post'], "system/role/batch/status", [App\Http\Controllers\Admin\System\SystemRoleController::class, 'batchUpdateStatus']);
// 检查角色编码是否存在
Route::match(['get', 'post'], "system/role/check/code", [App\Http\Controllers\Admin\System\SystemRoleController::class, 'checkCode']);
});
/** -------------------------- 系统菜单 ----------------------- */
Route::middleware("admin")->group(function () {
// 获取系统菜单详情
Route::match(['get', 'post'], "system/menu/detail", [App\Http\Controllers\Admin\System\SystemMenuController::class, 'detail']);
// 创建系统菜单
Route::match(['get', 'post'], "system/menu/create", [App\Http\Controllers\Admin\System\SystemMenuController::class, 'create']);
// 更新系统菜单
Route::match(['put', 'post'], "system/menu/update", [App\Http\Controllers\Admin\System\SystemMenuController::class, 'update']);
// 删除系统菜单
Route::match(['delete', 'post'], "system/menu/delete", [App\Http\Controllers\Admin\System\SystemMenuController::class, 'delete']);
// 获取系统菜单列表
Route::match(['get', 'post'], "system/menu/list", [App\Http\Controllers\Admin\System\SystemMenuController::class, 'list']);
// 获取简单列表
Route::match(['get', 'post'], "system/menu/simple/list", [App\Http\Controllers\Admin\System\SystemMenuController::class, 'simpleList']);
// 获取菜单树
Route::match(['get', 'post'], "system/menu/tree", [App\Http\Controllers\Admin\System\SystemMenuController::class, 'tree']);
// 获取父级菜单列表
Route::match(['get', 'post'], "system/menu/parent/list", [App\Http\Controllers\Admin\System\SystemMenuController::class, 'parentMenus']);
// 批量删除系统菜单
Route::match(['delete', 'post'], "system/menu/batch/delete", [App\Http\Controllers\Admin\System\SystemMenuController::class, 'batchDelete']);
});
/** -------------------------- 角色菜单关联 ----------------------- */
Route::middleware("admin")->group(function () {
// 获取角色菜单关联列表
Route::match(['get', 'post'], "system/role-menu/list", [App\Http\Controllers\Admin\System\SystemRoleMenuController::class, 'list']);
// 获取角色的菜单列表
Route::match(['get', 'post'], "system/role-menu/role-menus", [App\Http\Controllers\Admin\System\SystemRoleMenuController::class, 'getRoleMenus']);
// 获取菜单的角色列表
Route::match(['get', 'post'], "system/role-menu/menu-roles", [App\Http\Controllers\Admin\System\SystemRoleMenuController::class, 'getMenuRoles']);
// 获取角色的菜单树
Route::match(['get', 'post'], "system/role-menu/role-menu-tree", [App\Http\Controllers\Admin\System\SystemRoleMenuController::class, 'getRoleMenuTree']);
// 设置角色菜单权限
Route::match(['put', 'post'], "system/role-menu/set-role-menus", [App\Http\Controllers\Admin\System\SystemRoleMenuController::class, 'setRoleMenus']);
// 批量设置角色菜单权限
Route::match(['put', 'post'], "system/role-menu/batch-set", [App\Http\Controllers\Admin\System\SystemRoleMenuController::class, 'batchSetRoleMenus']);
// 清除角色的所有菜单权限
Route::match(['delete', 'post'], "system/role-menu/clear-role-menus", [App\Http\Controllers\Admin\System\SystemRoleMenuController::class, 'clearRoleMenus']);
// 清除菜单的所有角色关联
Route::match(['delete', 'post'], "system/role-menu/clear-menu-roles", [App\Http\Controllers\Admin\System\SystemRoleMenuController::class, 'clearMenuRoles']);
});
/** -------------------------- 用户角色关联 ----------------------- */
Route::middleware("admin")->group(function () {
// 获取用户角色关联列表
Route::match(['get', 'post'], "system/user-role/list", [App\Http\Controllers\Admin\System\SystemUserRoleController::class, 'list']);
// 获取用户的角色列表
Route::match(['get', 'post'], "system/user-role/user-roles", [App\Http\Controllers\Admin\System\SystemUserRoleController::class, 'getUserRoles']);
// 获取角色的用户列表
Route::match(['get', 'post'], "system/user-role/role-users", [App\Http\Controllers\Admin\System\SystemUserRoleController::class, 'getRoleUsers']);
// 获取用户的角色详情
Route::match(['get', 'post'], "system/user-role/user-role-details", [App\Http\Controllers\Admin\System\SystemUserRoleController::class, 'getUserRoleDetails']);
// 设置用户角色
Route::match(['put', 'post'], "system/user-role/set-user-roles", [App\Http\Controllers\Admin\System\SystemUserRoleController::class, 'setUserRoles']);
// 为角色分配用户
Route::match(['put', 'post'], "system/user-role/set-role-users", [App\Http\Controllers\Admin\System\SystemUserRoleController::class, 'setRoleUsers']);
// 批量设置用户角色
Route::match(['put', 'post'], "system/user-role/batch-set", [App\Http\Controllers\Admin\System\SystemUserRoleController::class, 'batchSetUserRoles']);
// 检查用户是否拥有角色
Route::match(['get', 'post'], "system/user-role/has-role", [App\Http\Controllers\Admin\System\SystemUserRoleController::class, 'hasRole']);
// 检查用户是否拥有角色编码
Route::match(['get', 'post'], "system/user-role/has-role-code", [App\Http\Controllers\Admin\System\SystemUserRoleController::class, 'hasRoleCode']);
// 清除用户的所有角色
Route::match(['delete', 'post'], "system/user-role/clear-user-roles", [App\Http\Controllers\Admin\System\SystemUserRoleController::class, 'clearUserRoles']);
// 清除角色的所有用户关联
Route::match(['delete', 'post'], "system/user-role/clear-role-users", [App\Http\Controllers\Admin\System\SystemUserRoleController::class, 'clearRoleUsers']);
});