Skip to main content
Nayax Core 拥有角色管理系统,管理员可以根据用户的角色控制其可见内容和可执行操作。您可以将 Core 扩展程序连接到此系统,以便根据登录用户的角色自动显示或隐藏应用程序中的特定 UI 元素(例如选项卡、按钮、小部件、设置部分等)。 您的应用在启动时从 Nayax 获取隐藏元素列表,然后在整个 UI 中应用可见性。

先决条件

  • 您的 Core Extension 已在 Nayax 注册,并拥有一个型号名称(例如 Apps/YourAppName)
  • 您已确定应用程序中应由角色控制的 UI 元素。
1

定义您的 UI 元素 ID。

为每个需要角色控制的 UI 元素分配一个字符串 ID。请使用以下命名约定:
  • 类别:tab、widget、action、settings、sidebar、topMenu 之一
  • **名称:**元素的驼峰式标识符
例如:
请保留一份您定义的所有元素 ID 的列表。您需要将此列表提供给 Nayax,以便管理员可以为每个元素配置角色权限。
元素 ID 区分大小写。请在您的应用程序和提交给 Nayax 的列表中使用一致的大小写形式。
2

启动时获取隐藏元素

当你的应用加载时,调用 Nayax UI 元素端点,获取应该对当前用户隐藏的元素列表:
该端点返回一个包含 hide 数组的 JSON 对象:
将结果存储为集合以便快速查找:
对于可以查看所有内容的用户(例如管理员),该端点会返回一个空的 hide 数组。空数组是有效的响应,而非错误。
3

在用户界面中应用可见性

创建一个辅助函数,用于检查元素是否应该可见,然后在渲染每个角色可控元素之前,在整个用户界面中使用该函数:
在应用启动时调用 fetchHiddenElements,并在渲染之前存储结果:
然后,在您的用户界面中应用可见性检查:
4

处理加载状态

API 调用需要时间。请决定在权限加载期间应用的行为。最稳妥的做法是在 API 调用完成之前不渲染任何内容,然后在完成之后再应用可见性:
或者,您可以立即渲染所有元素,并在权限加载后重新渲染。两种方法都可行,但第一种方法可以避免可见内容的闪烁。
5

向 Nayax 提供您的元素 ID

Nayax 管理员使用您的元素 ID 配置角色权限。您必须向 Nayax 提供您的应用程序公开的所有元素 ID 的完整列表,以便将其添加到角色管理系统中。

元素 ID 命名参考

定义元素 ID 时请使用以下类别:

错误处理

UI元素端点设计为失败后仍可正常显示。如果请求因任何原因(网络错误、身份验证问题、服务器错误)失败,您的应用应该显示所有元素,而不是全部隐藏。在无法确认权限的情况下隐藏元素会导致用户无法访问您的应用。 The example in Step 2 implements this behavior by returning an empty Set on any error.

故障排除

如果基于角色的可见性未按预期运行,请使用下表来确定原因。

后续步骤

翻译

公开您的 UI 字符串以支持多语言。

验证

了解您的应用从 Nayax 收到的 JWT 令牌。