68 lines
1.8 KiB
TypeScript
68 lines
1.8 KiB
TypeScript
/**
|
|
* 赛事管理 API
|
|
* 注意:/admin 前缀已通过 VITE_API_BASE_URL 统一注入(见 .env.*),此文件中只写业务路径。
|
|
*/
|
|
import { get, post } from '@/utils/request';
|
|
import type {
|
|
EventListQueryParams,
|
|
SignupListQueryParams,
|
|
ToggleOnlineParams,
|
|
ApiResult,
|
|
PageData,
|
|
TournamentAdminVO,
|
|
TournamentAdminInfoVO,
|
|
TournamentAdminInfoSignupVO,
|
|
} from './types';
|
|
|
|
export type {
|
|
TournamentAdminVO,
|
|
TournamentAdminInfoVO,
|
|
TournamentAdminInfoSignupVO,
|
|
InnerCategoryVO,
|
|
EventListQueryParams,
|
|
SignupListQueryParams,
|
|
ToggleOnlineParams,
|
|
PageData,
|
|
ApiResult,
|
|
} from './types';
|
|
|
|
/**
|
|
* 赛事列表 - 列表分页
|
|
* GET /admin/manager/tm/page → /manager/tm/page
|
|
*/
|
|
export async function getEventList(
|
|
params: EventListQueryParams,
|
|
): Promise<ApiResult<PageData<TournamentAdminVO>>> {
|
|
return get('/manager/tm/page', params as Record<string, any>);
|
|
}
|
|
|
|
/**
|
|
* 赛事列表 - 赛事详情
|
|
* GET /admin/manager/tm/info → /manager/tm/info
|
|
*/
|
|
export async function getEventDetail(id: string): Promise<ApiResult<TournamentAdminInfoVO>> {
|
|
return get('/manager/tm/info', { id });
|
|
}
|
|
|
|
/**
|
|
* 赛事列表 - 赛事详情 - 人员列表
|
|
* GET /admin/manager/tm/info/signupPage → /manager/tm/info/signupPage
|
|
*/
|
|
export async function getSignupList(
|
|
params: SignupListQueryParams,
|
|
): Promise<ApiResult<PageData<TournamentAdminInfoSignupVO>>> {
|
|
return get('/manager/tm/info/signupPage', params as Record<string, any>);
|
|
}
|
|
|
|
/**
|
|
* 赛事上架 / 下架
|
|
* POST /admin/manager/tm/online → /manager/tm/online
|
|
* @param params.id 赛事ID
|
|
* @param params.online 0=下架,1=上架
|
|
*/
|
|
export function toggleEventOnline(
|
|
params: ToggleOnlineParams,
|
|
): Promise<ApiResult<Record<string, never>>> {
|
|
return post('/manager/tm/online', params);
|
|
}
|