feat(integration): 新增 site_code 支持并增强玩家与注单管理界面
在后台玩家与注单相关 API 中新增 site_code 参数,支持按站点筛选数据。 更新 PlayersConsole 与 PlayerTicketsConsole UI 组件,新增站点选择筛选功能。 增强国际化支持,在英文与中文语言包中新增站点相关文案。 优化配置中心页面,新增跳转至集成站点管理的入口,提升后台导航体验。
This commit is contained in:
66
src/api/admin-integration-sites.ts
Normal file
66
src/api/admin-integration-sites.ts
Normal file
@@ -0,0 +1,66 @@
|
||||
import { adminRequest } from "@/lib/admin-http";
|
||||
|
||||
import { API_V1_PREFIX } from "./paths";
|
||||
|
||||
import type {
|
||||
AdminIntegrationSiteConnectivityResult,
|
||||
AdminIntegrationSiteCreatePayload,
|
||||
AdminIntegrationSiteDetail,
|
||||
AdminIntegrationSiteListData,
|
||||
AdminIntegrationSiteParameterSheet,
|
||||
AdminIntegrationSiteUpdatePayload,
|
||||
AdminIntegrationSiteWithSecrets,
|
||||
} from "@/types/api/admin-integration-site";
|
||||
|
||||
const A = `${API_V1_PREFIX}/admin`;
|
||||
|
||||
export async function getAdminIntegrationSites(): Promise<AdminIntegrationSiteListData> {
|
||||
return adminRequest.get<AdminIntegrationSiteListData>(`${A}/integration-sites`);
|
||||
}
|
||||
|
||||
export async function getAdminIntegrationSite(id: number): Promise<AdminIntegrationSiteDetail> {
|
||||
return adminRequest.get<AdminIntegrationSiteDetail>(`${A}/integration-sites/${id}`);
|
||||
}
|
||||
|
||||
export async function postAdminIntegrationSite(
|
||||
body: AdminIntegrationSiteCreatePayload,
|
||||
): Promise<AdminIntegrationSiteWithSecrets> {
|
||||
return adminRequest.post<AdminIntegrationSiteWithSecrets>(`${A}/integration-sites`, body);
|
||||
}
|
||||
|
||||
export async function putAdminIntegrationSite(
|
||||
id: number,
|
||||
body: AdminIntegrationSiteUpdatePayload,
|
||||
): Promise<AdminIntegrationSiteDetail> {
|
||||
return adminRequest.put<AdminIntegrationSiteDetail>(`${A}/integration-sites/${id}`, body);
|
||||
}
|
||||
|
||||
export async function postAdminIntegrationSiteRotateSecrets(
|
||||
id: number,
|
||||
): Promise<AdminIntegrationSiteWithSecrets> {
|
||||
return adminRequest.post<AdminIntegrationSiteWithSecrets>(
|
||||
`${A}/integration-sites/${id}/rotate-secrets`,
|
||||
{},
|
||||
);
|
||||
}
|
||||
|
||||
export async function postAdminIntegrationSiteConnectivityTest(
|
||||
id: number,
|
||||
body: { site_player_id: string; currency_code?: string },
|
||||
): Promise<AdminIntegrationSiteConnectivityResult> {
|
||||
return adminRequest.post<AdminIntegrationSiteConnectivityResult>(
|
||||
`${A}/integration-sites/${id}/connectivity-test`,
|
||||
body,
|
||||
);
|
||||
}
|
||||
|
||||
export async function getAdminIntegrationSiteExport(
|
||||
id: number,
|
||||
format: "json" | "csv" = "json",
|
||||
): Promise<AdminIntegrationSiteParameterSheet> {
|
||||
return adminRequest.get<AdminIntegrationSiteParameterSheet>(
|
||||
`${A}/integration-sites/${id}/export`,
|
||||
{ params: { format } },
|
||||
);
|
||||
}
|
||||
|
||||
@@ -17,6 +17,7 @@ export async function getAdminPlayers(params?: {
|
||||
per_page?: number;
|
||||
keyword?: string;
|
||||
status?: number;
|
||||
site_code?: string;
|
||||
}): Promise<AdminPlayerListData> {
|
||||
return adminRequest.get<AdminPlayerListData>(`${A}/players`, { params });
|
||||
}
|
||||
|
||||
@@ -11,6 +11,7 @@ export type TicketItemsListQuery = {
|
||||
per_page?: number;
|
||||
player_id?: number;
|
||||
player_account?: string;
|
||||
site_code?: string;
|
||||
draw_no?: string;
|
||||
status?: string[];
|
||||
number?: string;
|
||||
|
||||
Reference in New Issue
Block a user