Skip to content

菜单管理

系统管理-菜单模块负责处理应用的所有菜单相关操作,包括菜单的创建,修改,删除以及查询等功能。

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)接口允许你根据菜单链接查询菜单信息。
根据权限代码获取菜单IDgetIdByPermissionCode(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。