38 lines
1.4 KiB
JavaScript
38 lines
1.4 KiB
JavaScript
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;
|