跳到主要内容

自定义导航链接

您可以增加门户和管理系统的导航链接,点击这些链接会跳转到您指定的URL。

备注

当您点击导航链接时,我们会在当前链接后面加入查询参数?token={用来跟踪登录用户的状态的token},您可以通过token查询当前操作用户。

门户系统中的配置

在门户系统中,您可以在config/portal.yaml文件中,根据备注修改所需要的配置。

config/portal.yaml
# 新增导航链接相关配置
navLinks:
# 链接名称
- text: ""
# 链接地址,一级导航链接地址为可选填,二级导航链接地址为必填
url: ""
# 是否打开新的页面,可选填,默认值为false
# openInNewPage: true
# 图标路径,可选填
iconPath: ""
# 二级导航,可选填
children:
# 二级导航相关配置,与一级导航相同,但是url为必填配置,同时不允许再设置children
- text: ""
url: ""
iconPath: ""

管理系统中的配置

在管理系统中,您可以在config/mis.yaml文件中,根据备注修改所需要的配置。

config/mis.yaml
# 新增导航链接相关配置
navLinks:
# 链接名称
- text: ""
# 链接地址,一级导航链接地址为可选填,二级导航链接地址为必填
url: ""
# 是否打开新的页面,可选填,默认值为false
# openInNewPage: true
# 图标路径,可选填
iconPath: ""
# 可以看到这个链接的用户,可选填
# 用户类型: user, accountUser, accountAdmin, accountOwner, tenantFinance, tenantAdmin, platformAdmin, platformFinance
allowedRoles: []
# 二级导航,可选填
children:
# 二级导航相关配置,与一级导航相同,但是url为必填配置,同时不允许再设置children
- text: ""
url: ""
openInNewPage:
iconPath: ""
allowedRoles: []

配置示例

门户系统自定义导航链接配置示例

config/portal.yaml
navLinks:
- text: "一级导航1"
iconPath: "/desktop.jpg"
children:
- text: "二级导航1"
url: "https://hahahaha1.1.com"
iconPath: "/PKU_seal.svg"
- text: "二级导航2"
url: "https://hahahaha1.2.com"
- text: "二级导航3"
url: "https://hahahaha1.3.com"
iconPath: "/earth.png"
- text: "一级导航2"
url: "https://hahahaha2.com"
children: []
iconPath: "/earth.svg"
- text: "一级导航3"
url: "https://hahahaha3.com"
openInNewPage: true
iconPath: "/icon-test.png"
children: []

门户系统用户可以阅览到的导航链接如下,绿色框线中的图标为系统默认导航链接图标。

门户系统自定义导航链接配置示例

管理系统自定义导航链接配置示例

config/mis.yaml
navLinks:
- text: "一级导航1"
iconPath: "/icon-test.png"
children:
- text: "二级导航1"
url: "https://hahahaha1.1.com"
iconPath: "/earth.svg"
allowedRoles: [tenantFinance]
- text: "二级导航2"
url: "https://hahahaha1.2.com"
allowedRoles: [tenantAdmin, platformAdmin]
- text: "一级导航2"
url: "https://hahahaha2.com"
iconPath: "/earth.png"
- text: "一级导航3"
url: "https://hahahaha3.com"
allowedRoles: [user]

当前登录用户的用户角色为accountOwnertenantAdminplatformAdmin时,他可以阅览到的导航链接如下,绿色框线中的图标为系统默认导航链接图标。

管理系统自定义导航链接配置示例

配置解释

属性类型应用系统是否必填解释
navLinks////
text字符串portalmis链接名称,OpenSCOW导航栏上显示的名称
url字符串portalmis在二级导航中为必填链接地址,自定义导航链接地址,一级导航链接地址为可选填,二级导航链接地址为必填。跳转时会在后面加入查询参数?token={用来跟踪登录用户的状态的token}。如没有配置一级导航的链接地址,点击该导航栏时将自动跳转至次级导航栏的第一项导航的链接地址。
openInNewPage布尔类型portalmis可以选填。如不设置,默认值为false,不打开新的页面。如果设置为true,则会在新的页面打开该导航链接。
iconPath字符串portalmis图标路径,用户上传到公共文件下的自定义导航链接图标路径。可选填,如未填写则显示系统默认导航链接图标。
allowedRoles用户角色字符串列表mis管理系统指定可以看到该导航链接的角色列表,用户角色类型包括 user, accountUser, accountAdmin, accountOwner, tenantFinance, tenantAdmin, platformAdmin, platformFinance (用户角色详解请看下方角色配置说明)。如果没有指定,则不再限定用户角色,即所有用户都可以看到该导航链接。
children导航内容的列表portalmis二级导航列表,内容包括该系统下一级导航的所有内容,除url以外,内容类型以及是否必填与一级导航内容完全相同,但是不允许再继续设置chilidren,不允许继续添加三级导航。如果没有指定,则没有可以显示的二级导航链接。
备注

关于导航链接地址url的配置,与HTML标签的默认行为一致,以http://开头的url会自动被识别为外部路径。点击该导航栏时,会按照与url中填写的完全一致的路径进行跳转。

如果url中配置的链接地址是以/开头,或者没有以http://开头,则会被系统识别为内部路径。这时点击该导航栏跳转时,将根据已配置的自定义相对路径自动添加相对路径前缀。

示例:

config/portal.yaml
  navLinks:
- text: "导航测试"
children:
- text: "子导航1"
url: "http://www.navtest1.com"
- text: "子导航2"
url: "www.navtest2.com"
- text: "子导航3"
url: "/www.navtest3.com"

假设我们的系统部署在https://scowtest.com下,管理员配置的相对路径为/scow

那么按照上述自定义导航配置示例,点击导航测试时,会按照次级导航的第一个链接http://www.navtest1.com?token={用来跟踪登录用户的状态的token}进行跳转。与点击子导航1的跳转动作一致。

点击子导航2时,url会被识别为内部路径,将会拼接相对路径前缀和/,按照https://scowtest.com/scow/www.navtest2.com?token={用来跟踪登录用户的状态的token}进行跳转。

点击子导航3时,url同样会被识别为内部路径,将会拼接相对路径前缀,按照https://scowtest.com/scow/www.navtest3.com?token={用来跟踪登录用户的状态的token}进行跳转。

自定义图标配置说明

系统支持自定义导航链接的灵活图标配置。

您可以通过把存放在和install.yml同级的public目录下图片文件的路径添加到iconPath来进行自定义图标配置。公共文件路径的使用详见公共文件

您所添加的图片文件后缀应为常用图片文件.svg.png或者.jpg等。

如您将图片icon.svg上传到公共文件public目录下,则您在配置时需填写iconPath:"/icon.svg"

iconPath可以选填,如不填写,则将统一显示系统默认导航链接图标。

角色配置说明

在管理系统中进行配置自定义导航链接功能时,您可以通过在allowedRoles属性中添加角色字符串来自由配置能够看到该导航链接的角色。 在当前的OpenSCOW系统中,我们支持以下角色:

角色名称解释
user未加入账户的普通用户
accountUser在所有账户中均为普通用户
accountAdmin在某个账户中为账户管理员
accountOwner在某个账户中为账户拥有者
tenantAdmin在租户中的角色:租户管理员
tenantFinance在租户中的角色:租户财务人员
platformAdmin在平台中的角色:平台管理员
platformFinance在平台中的角色:平台财务人员
提示

如果您想更加详细的了解系统用户模型,请参考用户模型