先决条件
- 您的 Core Extension 已在 Nayax 注册,并拥有一个型号名称(例如
Apps/YourAppName) - 您已确定应用程序中应由角色控制的 UI 元素。
1
定义您的 UI 元素 ID。
为每个需要角色控制的 UI 元素分配一个字符串 ID。请使用以下命名约定:请保留一份您定义的所有元素 ID 的列表。您需要将此列表提供给 Nayax,以便管理员可以为每个元素配置角色权限。
- 类别:
tab、widget、action、settings、sidebar、topMenu之一 - **名称:**元素的驼峰式标识符
元素 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 emptySet on any error.
故障排除
如果基于角色的可见性未按预期运行,请使用下表来确定原因。后续步骤
翻译
公开您的 UI 字符串以支持多语言。
验证
了解您的应用从 Nayax 收到的 JWT 令牌。