Skip to content

1. 动态菜单

菜单路径:高级功能 → 动态菜单

动态菜单用于把组织自建的微应用或外部网页加入 ThinkLink 左侧菜单,也可以创建自定义菜单分组。菜单是否对某个用户可见,还取决于启用状态、显示状态和该用户的角色权限。

1.1. 动态菜单的作用

通过动态菜单,可以在不修改平台前端代码的情况下:

  • 微应用发布给组织成员;
  • 将外部业务系统或帮助页面加入 ThinkLink;
  • 创建一个自定义分组,将多个相关入口放在一起;
  • 决定页面在 ThinkLink 内嵌打开,还是在新窗口独立打开。

动态菜单属于当前组织,不会出现在其他组织中。

1.2. 内容来源

内容来源用途必要配置
微应用打开已在微应用页面创建并上传的静态站点。选择关联应用。
外部链接打开另一个网站或业务系统。填写以 http://https:// 开头的完整地址。
菜单分组只作为侧边栏中的可展开父级,本身不打开页面。填写分组名称;分组固定放在侧边栏根部。

1.3. 新增微应用菜单

  1. 确认目标微应用已经上传文件并可以正常预览。
  2. 进入高级功能 → 动态菜单,点击新增
  3. 填写菜单名称
  4. 内容来源设为微应用
  5. 关联应用中选择目标应用。
  6. 设置挂载位置、打开方式、图标和排序。
  7. 保持显示在菜单启用为开启状态。
  8. 点击确定保存。
  9. 前往角色管理为目标角色授权。

1.4. 新增外部链接菜单

  1. 点击新增并填写菜单名称。
  2. 内容来源设为外部链接
  3. 外部地址中填写完整 URL。
  4. 设置挂载位置、打开方式、图标、排序、显示和启用状态。
  5. 保存后为目标角色授权。

外部地址必须以 http://https:// 开头。使用当前页面内嵌前,请确认目标网站允许被其他页面嵌入;如果目标网站禁止嵌入,应选择新窗口独立访问

1.5. 新增菜单分组

  1. 点击新增
  2. 填写分组名称。
  3. 内容来源设为菜单分组
  4. 设置图标、排序、显示和启用状态。
  5. 保存。
  6. 新增或编辑其他动态菜单,在挂载位置中选择该自建分组。

菜单分组只能位于侧边栏根部,不能挂到另一个菜单分组或平台菜单下。分组本身不配置应用、外部地址或打开方式。

1.6. 挂载位置与排序

挂载位置

  • 不选择挂载位置:菜单作为一级菜单显示在侧边栏根部;
  • 选择平台已有菜单:动态菜单显示在该平台菜单组内;
  • 选择自建菜单分组:动态菜单显示在该分组下。

下拉选项的层级和顺序与实际侧边栏保持一致。自建菜单分组会带有相应标记,便于和平台菜单区分。

排序

排序值用于同一层级内与其他菜单一起排序:

  • 数值越小,位置越靠前;
  • 0 表示放在当前层级最后;
  • 配置表单会显示同级平台菜单的参考序号,可据此选择合适的插入位置。

1.7. 打开方式

打开方式效果建议场景
当前页面内嵌(保留菜单)页面显示在 ThinkLink 主布局内,左侧菜单保持可见。同源微应用、允许被嵌入的内部页面。
新窗口独立访问浏览器在新窗口或新标签页打开页面。外部系统、禁止嵌入的网页、需要更大显示区域的应用。

菜单分组本身没有打开方式。

1.8. 显示与启用

设置关闭后的效果
显示在菜单侧边栏不显示该入口,但已有直接地址仍可用于访问;适合只通过链接进入的页面。
启用当前用户菜单中不再提供该项,直接通过菜单承载页访问也会被拒绝。

配置变更后,用户可能需要刷新页面或重新进入当前组织,才能加载最新菜单。

1.9. 为角色授权

动态菜单与平台已有菜单使用同一套角色权限:

  1. 进入系统管理 → 角色管理
  2. 编辑目标角色。
  3. 在菜单权限树中找到并勾选新建的动态菜单或菜单分组。
  4. 保存角色。
  5. 确认目标用户已经分配该角色。
  6. 使用目标用户刷新页面或重新进入组织,检查菜单是否出现。

默认 admin 角色拥有当前组织的完整权限。自定义角色只有在权限树中勾选相应动态菜单后才能访问。

1.10. 删除菜单或分组

删除普通动态菜单

删除后,该入口从侧边栏消失,角色中对应的菜单授权也会被清理。删除菜单不会删除其关联的微应用文件。

删除菜单分组

删除分组后,直接挂在该分组下的动态菜单不会被删除,而会变成侧边栏根部的一级菜单。请在删除后检查这些菜单的新位置和排序。

补充: 如果直接删除微应用,平台会同时删除指向该应用的动态菜单及相关角色授权。删除前请先备份应用并确认影响范围。

1.11. 菜单不可见或打不开

按以下顺序检查:

  1. 动态菜单是否已启用
  2. 显示在菜单是否开启;
  3. 当前用户角色是否勾选了该动态菜单;
  4. 菜单挂载的父级或自建分组是否启用并显示;
  5. 微应用是否仍然存在,且入口文件可以预览;
  6. 外部链接是否以 http://https:// 开头;
  7. 内嵌外部页面是否被目标网站的安全策略拒绝;
  8. 刷新页面或重新进入组织后再试。