refactor: 合并多语言支持的显示名称字段,优化奖池手动爆发功能的返回数据结构,增强管理端权限控制

This commit is contained in:
2026-05-25 14:31:24 +08:00
parent 7d01e5c47e
commit ddedef824e
101 changed files with 3033 additions and 641 deletions

View File

@@ -28,9 +28,7 @@ export async function patchAdminPlayType(
body: Partial<{
is_enabled: boolean;
sort_order: number;
display_name_zh: string | null;
display_name_en: string | null;
display_name_ne: string | null;
display_name: string | null;
supports_multi_number: boolean;
reserved_rule_json: unknown;
}>,
@@ -64,9 +62,7 @@ export async function putPlayConfigItems(
category: string | null;
dimension: number | null;
bet_mode: string | null;
display_name_zh: string;
display_name_en?: string | null;
display_name_ne?: string | null;
display_name: string;
is_enabled?: boolean;
min_bet_amount: number;
max_bet_amount: number;

View File

@@ -3,6 +3,10 @@ import { adminRequest } from "@/lib/admin-http";
import { API_V1_PREFIX } from "./paths";
import type { AdminDashboardData } from "@/types/api/admin-dashboard";
import type {
AdminDashboardAnalyticsData,
AdminDashboardAnalyticsQuery,
} from "@/types/api/admin-dashboard-analytics";
const A = `${API_V1_PREFIX}/admin`;
@@ -10,3 +14,30 @@ const A = `${API_V1_PREFIX}/admin`;
export async function getAdminDashboard(): Promise<AdminDashboardData> {
return adminRequest.get<AdminDashboardData>(`${A}/dashboard`);
}
/** 仪表盘可筛选分析(区间汇总、日趋势、玩法拆解) */
export async function getAdminDashboardAnalytics(
query: AdminDashboardAnalyticsQuery = {},
): Promise<AdminDashboardAnalyticsData> {
const params = new URLSearchParams();
if (query.period) {
params.set("period", query.period);
}
if (query.date_from) {
params.set("date_from", query.date_from);
}
if (query.date_to) {
params.set("date_to", query.date_to);
}
if (query.metric) {
params.set("metric", query.metric);
}
if (query.play_code) {
params.set("play_code", query.play_code);
}
const qs = params.toString();
return adminRequest.get<AdminDashboardAnalyticsData>(
`${A}/dashboard/analytics${qs ? `?${qs}` : ""}`,
);
}

View File

@@ -35,8 +35,15 @@ export async function putAdminJackpotPool(
export async function postAdminJackpotManualBurst(
poolId: number,
body: { draw_id: number; amount?: number },
): Promise<{ current_amount: number; burst_amount: number; log_id: number | null }> {
body: { draw_id: number },
): Promise<{
current_amount: number;
burst_amount: number;
log_id: number | null;
winner_count: number;
draw_no: string;
wallet_credited: boolean;
}> {
return adminRequest.post(`${A}/jackpot/pools/${poolId}/manual-burst`, body);
}

View File

@@ -39,3 +39,11 @@ export async function putAdminPlayer(
export async function deleteAdminPlayer(playerId: number): Promise<AdminPlayerDeleteResult> {
return adminRequest.delete<AdminPlayerDeleteResult>(`${A}/players/${playerId}`);
}
export async function postAdminPlayerFreeze(playerId: number): Promise<AdminPlayerRow> {
return adminRequest.post<AdminPlayerRow>(`${A}/players/${playerId}/freeze`);
}
export async function postAdminPlayerUnfreeze(playerId: number): Promise<AdminPlayerRow> {
return adminRequest.post<AdminPlayerRow>(`${A}/players/${playerId}/unfreeze`);
}