feat(integration): 为集成站点与开奖管理新增 AdminPermissionGate 权限控制

使用 AdminPermissionGate 包裹集成站点与开奖相关组件,根据权限进行访问控制。
新增集成管理与开奖管理相关权限常量。
更新相关 UI 组件以适配权限校验逻辑,提升系统安全性与用户体验。
增强国际化支持,在英文、尼泊尔语与中文语言包中新增集成相关文案。
This commit is contained in:
2026-05-27 16:51:48 +08:00
parent 5eabbcf0ee
commit 788c7998eb
24 changed files with 276 additions and 64 deletions

View File

@@ -4,6 +4,7 @@ import { useCallback, useEffect, useState } from "react";
import { getAdminIntegrationSites } from "@/api/admin-integration-sites";
import { adminHasAnyPermission } from "@/lib/admin-permissions";
import { PRD_INTEGRATION_ACCESS_ANY } from "@/lib/admin-prd";
import { useAdminProfile } from "@/stores/admin-session";
export type AdminSiteCodeOption = {
@@ -21,10 +22,7 @@ export function useAdminSiteCodeOptions(): {
reload: () => Promise<void>;
} {
const profile = useAdminProfile();
const canLoad = adminHasAnyPermission(profile?.permissions, [
"prd.integration.view",
"prd.integration.manage",
]);
const canLoad = adminHasAnyPermission(profile?.permissions, PRD_INTEGRATION_ACCESS_ANY);
const [sites, setSites] = useState<AdminSiteCodeOption[]>([]);
const [loading, setLoading] = useState(false);