feat(integration): 为集成站点与开奖管理新增 AdminPermissionGate 权限控制
使用 AdminPermissionGate 包裹集成站点与开奖相关组件,根据权限进行访问控制。 新增集成管理与开奖管理相关权限常量。 更新相关 UI 组件以适配权限校验逻辑,提升系统安全性与用户体验。 增强国际化支持,在英文、尼泊尔语与中文语言包中新增集成相关文案。
This commit is contained in:
@@ -73,6 +73,8 @@ import {
|
||||
} from "@/components/ui/table";
|
||||
import { useAdminCurrencyCatalog } from "@/hooks/use-admin-currency-catalog";
|
||||
import { useAdminDateTimeFormatter } from "@/hooks/use-admin-datetime-formatter";
|
||||
import { formatAdminInstant } from "@/lib/admin-datetime";
|
||||
import { getAdminRequestLocale } from "@/lib/admin-locale";
|
||||
import { cn } from "@/lib/utils";
|
||||
import { formatAdminMinorUnits } from "@/lib/money";
|
||||
import { LotteryApiBizError } from "@/types/api/errors";
|
||||
@@ -249,6 +251,10 @@ function normalizeFilenamePart(value: string): string {
|
||||
return value.trim().replace(/[\\/:*?"<>|\s]+/g, "-").replace(/-+/g, "-").replace(/^-|-$/g, "");
|
||||
}
|
||||
|
||||
function formatExportInstant(iso: string | null | undefined): ExportCell {
|
||||
return formatAdminInstant(iso, { locale: getAdminRequestLocale() });
|
||||
}
|
||||
|
||||
function toCsvValue(value: ExportCell): string {
|
||||
if (value == null) {
|
||||
return "";
|
||||
@@ -369,7 +375,7 @@ function drawRowsFromSummary(summary: AdminDrawFinanceSummaryData): ExportRow[]
|
||||
total_win_count: batch.total_win_count,
|
||||
total_payout_amount: batch.total_payout_amount,
|
||||
total_jackpot_payout_amount: batch.total_jackpot_payout_amount,
|
||||
finished_at: batch.finished_at,
|
||||
finished_at: formatExportInstant(batch.finished_at),
|
||||
})),
|
||||
];
|
||||
}
|
||||
@@ -575,8 +581,8 @@ export function ReportsConsole() {
|
||||
status: item.status,
|
||||
external_ref_no: item.external_ref_no,
|
||||
fail_reason: item.fail_reason,
|
||||
created_at: item.created_at,
|
||||
finished_at: item.finished_at,
|
||||
created_at: formatExportInstant(item.created_at),
|
||||
finished_at: formatExportInstant(item.finished_at),
|
||||
}));
|
||||
setResult({
|
||||
key: "player_transfer",
|
||||
@@ -625,7 +631,7 @@ export function ReportsConsole() {
|
||||
ticket_no: item.ticket_no,
|
||||
play_code: item.play_code,
|
||||
player_id: item.player_id,
|
||||
created_at: item.created_at,
|
||||
created_at: formatExportInstant(item.created_at),
|
||||
})),
|
||||
];
|
||||
setResult({
|
||||
@@ -737,7 +743,7 @@ export function ReportsConsole() {
|
||||
target_id: item.target_id,
|
||||
ip: item.ip,
|
||||
user_agent: item.user_agent,
|
||||
created_at: item.created_at,
|
||||
created_at: formatExportInstant(item.created_at),
|
||||
}));
|
||||
setResult({
|
||||
key: "admin_audit",
|
||||
|
||||
Reference in New Issue
Block a user