rentease-backend-new/routes/menu.js

38 lines
1.4 KiB
JavaScript
Raw Permalink Normal View History

2026-04-20 06:43:09 +00:00
const express = require('express');
const router = express.Router();
const menuController = require('../controllers/menuController');
const { authMiddleware, adminMiddleware } = require('../middleware/auth');
const { superAdminMiddleware } = require('../middleware/tenant');
// 获取当前用户的菜单权限(只需要认证,不需要管理员权限)
router.get('/user/menus', authMiddleware, menuController.getUserMenus);
// 获取角色的菜单权限(需要管理员权限,但不需要超级管理员)
router.get('/role/:roleId', authMiddleware, adminMiddleware, menuController.getRoleMenus);
// 分配菜单权限给角色(需要管理员权限,但不需要超级管理员)
router.post('/role/:roleId/assign', authMiddleware, adminMiddleware, menuController.assignMenusToRole);
// 获取菜单树(普通管理员只能获取基础菜单)
router.get('/tree', authMiddleware, adminMiddleware, menuController.getMenuTree);
// 以下菜单管理接口需要超级管理员权限
router.use(authMiddleware, superAdminMiddleware);
// 获取菜单列表
router.get('/', menuController.getMenuList);
// 获取菜单详情
router.get('/:id', menuController.getMenuById);
// 创建菜单
router.post('/', menuController.createMenu);
// 更新菜单
router.put('/:id', menuController.updateMenu);
// 删除菜单
router.delete('/:id', menuController.deleteMenu);
module.exports = router;