feat(config): 重构配置中心导航与版本展示,支持全量版本加载
This commit is contained in:
@@ -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}`);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user