refactor: 合并多语言支持的显示名称字段,优化奖池手动爆发功能的返回数据结构,增强管理端权限控制
This commit is contained in:
@@ -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;
|
||||
|
||||
@@ -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}` : ""}`,
|
||||
);
|
||||
}
|
||||
|
||||
@@ -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);
|
||||
}
|
||||
|
||||
|
||||
@@ -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`);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user