feat(config): 重构配置中心导航与版本展示,支持全量版本加载

This commit is contained in:
2026-05-16 10:28:00 +08:00
parent 8bd7cc3d73
commit 1578c7e214
15 changed files with 375 additions and 471 deletions

View File

@@ -13,6 +13,12 @@ import type {
const A = `${API_V1_PREFIX}/admin`;
type ConfigVersionListParams = {
status?: string;
page?: number;
per_page?: number;
};
export async function getAdminPlayTypes(): Promise<AdminPlayTypesData> {
return adminRequest.get<AdminPlayTypesData>(`${A}/play-types`);
}
@@ -55,10 +61,18 @@ export async function putPlayConfigItems(
id: number,
items: Array<{
play_code: string;
category: string | null;
dimension: number | null;
bet_mode: string | null;
display_name_zh: string;
display_name_en?: string | null;
display_name_ne?: string | null;
is_enabled?: boolean;
min_bet_amount: number;
max_bet_amount: number;
display_order?: number;
supports_multi_number?: boolean;
reserved_rule_json?: unknown;
rule_text_zh?: string | null;
rule_text_en?: string | null;
rule_text_ne?: string | null;
@@ -126,6 +140,33 @@ export async function getRiskCapVersions(params?: {
return adminRequest.get(`${A}/config/risk-cap-versions`, { params });
}
export async function getAllConfigVersions(
fetchPage: (params?: ConfigVersionListParams) => Promise<ConfigVersionListData>,
params?: Omit<ConfigVersionListParams, "page" | "per_page">,
): Promise<ConfigVersionListData> {
const items: ConfigVersionListData["items"] = [];
let meta: ConfigVersionListData["meta"] | null = null;
for (let page = 1; ; page += 1) {
const data = await fetchPage({ ...params, page, per_page: 100 });
items.push(...data.items);
meta = data.meta;
if (page >= data.meta.last_page) {
break;
}
}
return {
items,
meta: meta ?? {
current_page: 1,
per_page: 0,
total: 0,
last_page: 1,
},
};
}
export async function getRiskCapVersion(id: number): Promise<RiskCapVersionDetail> {
return adminRequest.get(`${A}/config/risk-cap-versions/${id}`);
}