菜单管理
系统管理-菜单模块负责处理应用的所有菜单相关操作,包括菜单的创建,修改,删除以及查询等功能。
Maven坐标
xml
<dependency>
<groupId>com.ikingtech.platform</groupId>
<artifactId>sdk-menu-api</artifactId>
</dependency>
接口列表
🌚注意
以下内容可能在未来迭代过程中有所变化,以实际代码为准
功能名称 | 方法 | 接口说明 |
---|---|---|
菜单添加 | add(MenuDTO menu) | 接口允许你添加一个新的菜单。接口首先会检查传入的菜单信息,包括: 当菜单编号策略设置为手动时,必须指定菜单编号。 只校验菜单类型的菜单名称是否重复,并且其他类型的菜单名可以重复。 菜单链接不能重复。 然后,会生成一个唯一的id,所有需要使用到的信息都存储在 MenuDO 对象中,并保存。 |
菜单删除 | delete(String id) | 接口允许你删除一个已存在的菜单。系统首先通过id找到对应的菜单,如果找不到则直接返回。然后,它将删除与菜单全路径匹配(右模糊)的子菜单并从菜单所属的角色下移除该菜单。 |
菜单更新 | update(MenuDTO menu) | 接口允许你更新一个已存在的菜单。系统首先通过菜单ID找到对应的菜单,如果找不到则抛出“菜单不存在”的错误。其次,进行数据校验,包括:MENU类型的菜单名称不能重复。 菜单链接不能重复。 然后,会更新对应的菜单信息。 |
菜单详情查询 | detail(String id) | 接口允许你查询一个已存在的菜单的详细信息。系统通过id找到对应的菜单,如果找不到则抛出“菜单不存在”的错误。 |
分页查询所有菜单 | page(MenuQueryParamDTO queryParam) | 接口允许你分页查询所有菜单的信息。 |
查询所有菜单 | all() | 接口返回当前系统中所有的菜单列表。 |
根据角色ID获取菜单列表 | listByRoleId(String roleId) | 接口用于根据给定的角色ID获取其对应的菜单列表。 |
登录用户菜单查询 | listByLoginUser(Boolean showHidden) | 接口允许查询登录用户的所有菜单。如果参数 showHidden 为true,那么查询结果会包含隐藏的菜单。 |
拖拽排序 | drag(DragOrderParam dragParam) | 接口允许你通过拖拽操作来改变菜单的顺序。 |
根据链接获取菜单 | getByLink(String link) | 接口允许你根据菜单链接查询菜单信息。 |
根据权限代码获取菜单ID | getIdByPermissionCode(String permissionCode) | 接口允许你根据权限代码查询菜单ID。 |
初始化菜单 | initMenu(String tenantCode) | 接口用于初始化菜单,通过给定的租户代码创建一组默认的菜单。 |
系统初始化事件监听器 | systemInitEventListener(SystemInitEvent event) | 是一个系统初始化事件监听器。 |
使用说明
例如,我们要添加一个新的菜单,我们可以构造一个MenuDTO对象,然后调用add接口进行添加。具体代码如下:
java
MenuDTO menu = new MenuDTO();
menu.setName("新的菜单");
menu.setLink("/new/menu");
... // 设置其他属性
R<String> result = add(menu);
如果添加成功,result将包含添加的菜单的ID。