跳转到内容

子系统管理

子系统管理插件将同一平台划分为主系统和多个子系统。每个子系统使用唯一的子系统标识作为虚拟入口前缀,例如标识为 oa 时,管理端入口为 /<部署路径>/oa/admin;标识为 srm/oa 时,入口为 /<部署路径>/srm/oa/admin

用户访问子系统入口后,系统会识别当前路径对应的子系统,并加载该子系统的系统标题、Logo、启用语言、登录页面设置和菜单访问范围。顶栏中的切换图标会列出当前角色可以访问的系统,用户可在系统之间切换。

整体效果

子系统通过入口地址中的路径前缀区分。管理员在 系统设置 → 子系统管理 中维护子系统名称、标识和启用状态。

配置项说明
名称子系统在设置页和系统切换菜单中显示的名称。
子系统标识用于生成虚拟入口前缀。系统会自动在标识后追加 /admin,无需手动填写。
启用控制子系统的启用状态。

子系统标识支持单层或多层路径,例如 oasrm/oa。输入时可省略首尾斜杠,系统会统一规范化。标识应满足以下规则:

  • 仅可使用英文字母、数字、_-/
  • 不能填写协议、域名、查询参数或片段,例如 https://example.com/oaoa?x=1 均无效。
  • 不能以 admin 结尾,因此应填写 oa,不要填写 oa/admin
  • 首段不能使用 NocoBase 的保留路径,例如 adminapiappssigninsignuppublicstaticstoragevv2
  • 每个子系统必须使用不同的标识;新增和编辑时,页面会校验当前列表中是否存在相同标识。

子系统管理

子系统管理页面提供以下操作:

  • 名称子系统标识进行包含筛选。
  • 新增、编辑和启用或停用子系统。
  • 删除子系统前显示二次确认,避免误删。
  • 列表不显示主系统,主系统不能在此页面被编辑或删除。

系统设置页为每个系统保存独立的展示配置:

配置项说明
系统标题设置当前系统显示的标题,支持全局变量和换行。
Logo为当前系统上传一个 Logo。
启用语言选择当前系统可使用的语言,至少需要保留一种语言。

在主系统打开设置页时,可通过页签管理主系统和所有子系统;已停用的子系统会显示“已停用”标记。在子系统打开设置页时,只能编辑当前子系统,不会显示其他系统的页签。

系统设置

本插件会扩展“登录设置”插件,为每个系统保存独立的登录页面配置。使用此能力前,需要安装并启用登录设置插件。

在主系统的登录设置页中,可切换主系统和各子系统页签,并为每个系统分别配置:

  • 登录设置插件提供的登录页面外观与内容。
  • 默认允许新页面:开启后,后续新建的页面默认允许该系统访问。
  • 路由访问范围:按分组或页面勾选该系统允许访问的菜单和页面。

路由访问范围只在主系统中配置。进入子系统的登录设置页时,只能维护当前子系统的登录页面设置,不能查看其他系统,也不能修改路由访问范围。

路由选择表会隐藏 hideInMenu 的普通菜单项;页面内部的标签页不单独显示,但选择页面或分组时会一并保留必要的标签页和父级导航,避免菜单入口存在但目标页面无法进入。

登录设置 登录设置 登录设置

顶栏固定显示切换系统图标。点击后会重新读取当前角色可访问的系统,并标明当前系统。

选择其他系统时,插件会优先完成单点登录切换。切换过程不会在 URL 中传递登录凭证;若目标系统已经存在相同身份的有效会话,会直接进入目标系统。若单点登录服务暂时不可用,浏览器仍会跳转到目标入口,由目标系统自行校验登录状态和访问权限。

切换完成后,如果用户无权访问来源系统的当前页面,系统会保留子系统入口前缀,并自动跳转到目标系统中第一个可访问的页面。

开始配置前,请确认:

  1. 已安装并启用 子系统管理 插件。
  2. 已安装并启用登录设置插件;否则无法使用分系统登录设置页。
  3. 当前账号具备系统设置、子系统管理和登录设置的相应权限。
  4. 部署入口可以保留子系统标识路径。例如子系统标识为 oa 时,用户应能访问 /<部署路径>/oa/admin
  5. 已规划每个子系统的名称、标识、可访问页面和角色权限。

先为每个子系统确定稳定且唯一的标识。标识一旦用于对外入口,不建议随意修改。

子系统推荐标识入口示例
OA 办公oa/<部署路径>/oa/admin
供应链srm/<部署路径>/srm/admin
供应链采购srm/purchase/<部署路径>/srm/purchase/admin

不要将主系统路由或 NocoBase 保留路径作为标识,例如 adminapiapps。也不要在标识末尾补写 /admin

  1. 使用主系统管理员账号进入 系统设置 → 子系统管理
  2. 点击 新增子系统
  3. 填写名称和子系统标识。
  4. 按需要打开“启用”开关。
  5. 点击 提交,返回列表确认新增结果。
  6. 使用规划的虚拟入口访问子系统,例如 /<部署路径>/oa/admin,确认能够进入对应系统。

需要临时停止某个子系统时,可关闭列表中的“启用”开关。删除操作不可恢复,确认不再需要该子系统后再执行删除。

第三步:配置各系统的展示信息

Section titled “第三步:配置各系统的展示信息”
  1. 在主系统进入 系统设置 → 系统设置
  2. 选择主系统或目标子系统页签。
  3. 设置系统标题,按需上传 Logo,并选择启用语言。
  4. 点击 提交 保存当前系统的配置。
  5. 切换到目标子系统入口,刷新页面确认标题、Logo 和语言是否正确生效。

子系统管理员进入自身的系统设置页时,只能维护当前子系统的展示配置;需要配置其他系统时,应回到主系统操作。

第四步:配置登录页面和路由访问范围

Section titled “第四步:配置登录页面和路由访问范围”
  1. 在主系统打开登录设置页。
  2. 选择需要配置的系统页签。
  3. 按登录设置插件的能力配置该系统的登录页面外观与内容。
  4. 在“路由访问范围”中勾选该系统允许访问的分组或页面。
  5. 仅在确实需要新建页面默认开放时,开启“默认允许新页面”。
  6. 保存当前系统的登录设置。

建议先为每个子系统选择最小必要的路由范围,再使用测试账号检查菜单、页面和标签页是否符合预期。主系统和子系统的路由范围独立保存,修改某个页签不会覆盖其他系统的配置。

  1. 使用具备多个系统访问权限的测试账号,分别登录主系统和子系统入口。
  2. 点击顶栏的切换系统图标,确认菜单仅显示当前角色有权访问的系统。
  3. 选择目标系统,确认能够进入目标入口并保留正确的子系统路径前缀。
  4. 验证目标系统的标题、Logo、登录页面和菜单范围。
  5. 使用不同角色重复测试;当目标系统无权访问当前页面时,确认会自动落到可访问页面。
场景建议
多业务线共用一个平台按业务线设计短且稳定的子系统标识,例如 oasrmcrm,避免使用环境名称或临时编号。
分层业务入口使用多层标识表达归属,例如 srm/purchasesrm/supplier,并提前确认上游路由或代理能够保留完整路径。
子系统品牌化为每个子系统分别设置标题、Logo 和启用语言,使用户在切换后能够明确识别当前系统。
最小权限发布路由范围先只开放业务必需页面;新增页面默认不开放,确认需要后再逐个授予。
新页面上线检查需要访问该页面的每个子系统,并验证菜单隐藏项、页面标签页和父级导航不会影响访问。
角色跨系统协作为测试账号配置多个系统权限,覆盖主系统到子系统、子系统之间以及子系统返回主系统的切换。
标识调整将子系统标识视为对外 URL 的一部分。修改前先通知使用方并准备访问入口迁移,避免已有链接失效。
  • 子系统入口调整为基于“子系统标识”的虚拟路径,支持单层和多层标识。
  • 主系统可集中管理所有系统的展示配置、登录设置和路由访问范围;子系统仅可维护自身的展示与登录设置。
  • 路由访问范围不再展示或授权菜单隐藏的普通页面,并自动保留必要的标签页和导航父级。
  • 支持切换系统后保留虚拟入口前缀,并在目标角色无权访问当前页面时自动校正落地页。
  • 单点登录不可用时,支持直接跳转到目标系统,由目标系统继续处理登录和权限校验。