低代码应用菜单避坑指南:新建 / 删除 / 导入全流程,路由重复再也不怕!

JNPF后台经常收到类似吐槽:"删菜单提示先删子菜单?""导入菜单总报重复?" 其实 "应用菜单" 管理的核心是 "层级规则" 和 "数据唯一性校验",今天结合文档,把 Web/App 菜单的新建、删除、编辑、导入操作拆透,帮你避开 90% 的操作坑。

应用菜单的核心定位与入口

"应用菜单" 是统一管理单个应用下 Web 端和 App 端菜单的入口,比如给 "人事 OA" 应用配置 "员工信息表单""考勤门户" 等菜单,用户只有配置权限后才能在应用前台看到。

操作入口很明确:进入目标应用后台(应用中心点击应用图标),左侧菜单找到 "应用设置 - 应用菜单",页面默认分 "Web 菜单" 和 "App 菜单" 两个标签,切换即可管理对应端菜单,还能通过关键词、状态(启用 / 禁用)筛选菜单,找目标菜单不用翻页。

核心操作:4 大功能分步拆解

应用菜单的操作围绕 "新建 - 编辑 - 删除 - 导入导出" 展开,每个步骤都有容易踩的坑,按场景拆解如下:

1. 新建菜单:类型数据来源 + 路由唯一性是关键

新建是基础操作,但 "类型选择" 和 "路由地址" 最容易出问题,步骤和注意事项如下:

  • 操作步骤 :选端:确定建 Web 菜单还是 App 菜单,点击 "+ 新建";填信息:上级菜单:下拉选父节点(如把 "员工表单" 归到 "人事管理" 目录下);类型:除了 "字典" 读取全局数据,"表单""流程""门户" 等都只读取当前应用 的数据(比如建 "流程" 类型菜单,只能选当前应用下的流程);路由地址:手动填或自动生成(表单菜单默认 "model / 编码"),必须当前应用内唯一;点 "确定",菜单会显示在列表中,默认启用。

  • 避坑提醒:父节点禁用不影响建子菜单:比如 "人事管理" 目录设为禁用,仍能在下面建 "员工表单" 子菜单,但子菜单在权限授权时会隐藏;路由地址重复会报错:同一应用内不能有相同路由,比如已有 "model/emp001",再填会提示 "路由地址已存在"。

2. 删除菜单:必须先删子菜单,不能 "越级删"

删除的核心规则是 "先子后父",很多人卡在这里:

  • 删子菜单:直接勾选子菜单(如 "员工表单"),点击 "删除" 即可,无限制;

  • 删主目录:若目录下有子菜单(如 "人事管理" 下有 "员工表单"),点击删除会提示 "删除失败,请先删除子菜单",必须先删完所有子菜单,才能删主目录。

  • 实用技巧:如果要批量删目录下的子菜单,可先展开目录,批量勾选子菜单删除,再删目录,比逐条删快很多。

3. 编辑菜单:所有信息可改,改后及时配权限

编辑操作很灵活,但要注意权限同步:

  • 可修改项:包括上级菜单、名称、编码、类型、路由地址等所有配置,比如把 "员工表单" 的上级从 "人事管理" 改成 "员工管理";

  • 操作逻辑:改完点 "确定" 实时生效,但要记得在 "权限管理" 中同步更新权限(比如改了菜单名称,权限描述最好也同步改,避免混淆)。

4. 导入 / 导出模板:格式 + 重复处理规则要分清

批量迁移菜单时会用到导入导出,重点关注 "文件格式" 和 "重复识别":

  • 导出模板:展开菜单 "更多",选 "导出模板",保存为.bm 格式文件,包含菜单所有字段,可用于后续修改或导入到其他应用;
  • 导入操作:点击 "↑导入",选上级菜单(导入的菜单会归到这个父节点下);设重复规则:跳过:导入数据已存在(编码 / 名称重复)则提示 "ID、编码、名称重复",不导入;追加:已存在则自动生成副本(名称加 "副本 + 5 位随机码",编码加随机码),比如 "员工表单" 变成 "员工表单。副本 DZ5BP";上传.bm 文件:只能传.bm 格式,传其他格式会提示 "请选择.bm 类型的文件"。

关键注意事项:权限 + 数据隔离 2 个核心规则

这两个规则决定了菜单能否正常使用,必须牢记:

  1. 所有菜单都需配权限才能访问:哪怕是开发者新建的菜单,自己也看不到 ------ 必须在 "权限管理" 中给角色勾选该菜单权限,用户登录后才能在应用前台看到;

  2. 应用内数据隔离:菜单关联的表单、流程等数据,都跟着应用走,比如把 A 应用的表单菜单导入 B 应用,关联的表单会自动变成 B 应用的数据,不用重新关联。

实操示例:3 步批量导入菜单

以把 A 应用的 "人事表单" 菜单导入 B 应用为例,结合前面的规则,完整步骤如下:

  1. 导出 A 应用模板:在 A 应用的 "应用菜单" 中,找到 "人事表单" 所在目录,"更多"→"导出模板",保存为.bm 文件;

  2. 导入 B 应用:进入 B 应用 "应用菜单",点击 "↑导入",选上级菜单 "人事管理",重复规则设 "追加",上传.bm 文件;

  3. 处理权限:导入后,在 B 应用的 "权限管理" 中,给目标角色勾选导入的菜单权限,用户即可访问。

应用菜单管理看似复杂,其实掌握 "类型数据来源""删除层级规则""路由唯一性" 这三个关键点,就能少走很多弯路。比如建菜单时确认类型数据来自当前应用,删目录前先清子菜单,导入时选对重复规则,操作效率会明显提升。如果遇到操作问题,欢迎在评论区留言,我会帮你分析解决~

相关推荐
Keepreal4963 小时前
word文件预览实现
前端·javascript·react.js
郝开3 小时前
5. React中的组件:组件是什么;React定义组件
前端·javascript·react.js
我是天龙_绍3 小时前
uniapp 中的 #ifndef 条件编译
前端
white-persist3 小时前
SQL 注入详解:从原理到实战
前端·网络·数据库·sql·安全·web安全·原型模式
FuckPatience3 小时前
电脑所有可用的网络接口
前端·javascript·vue.js
索马里亚纳海参炒贩3 小时前
Rust、C++语言桌面开发框架有哪些?
前端
道可到3 小时前
程序员养生十大违章:你中了几条?
前端·后端·面试
Guo_Pian3 小时前
vite核心原理
前端·架构
斜向生3 小时前
【JavaScript正则表达式指南】——正则表达式入门:创建、方法与标志详解
前端