54 lines
1.3 KiB
TypeScript
54 lines
1.3 KiB
TypeScript
|
|
/**
|
||
|
|
* 用户管理 API
|
||
|
|
*/
|
||
|
|
import { get, post } from '@/utils/request';
|
||
|
|
import { USE_MOCK, MOCK_DELAY } from '@/config/mock';
|
||
|
|
import { buildMockUserListPage } from '@/config/mock/userList';
|
||
|
|
import type {
|
||
|
|
UserListQueryParams,
|
||
|
|
UserActiveParams,
|
||
|
|
TournamentAdminUserPageVO,
|
||
|
|
PageData,
|
||
|
|
ApiResult,
|
||
|
|
} from './types';
|
||
|
|
|
||
|
|
export type {
|
||
|
|
TournamentAdminUserPageVO,
|
||
|
|
UserListQueryParams,
|
||
|
|
UserActiveParams,
|
||
|
|
PageData,
|
||
|
|
ApiResult,
|
||
|
|
} from './types';
|
||
|
|
|
||
|
|
const delay = (ms: number) => new Promise<void>((resolve) => setTimeout(resolve, ms));
|
||
|
|
|
||
|
|
/**
|
||
|
|
* 用户管理 - 用户分页
|
||
|
|
* GET /admin/manager/user/page → /manager/user/page
|
||
|
|
*/
|
||
|
|
export async function getUserList(
|
||
|
|
params: UserListQueryParams,
|
||
|
|
): Promise<ApiResult<PageData<TournamentAdminUserPageVO>>> {
|
||
|
|
if (USE_MOCK) {
|
||
|
|
await delay(MOCK_DELAY);
|
||
|
|
const page = Number(params.page) || 1;
|
||
|
|
const limit = Number(params.limit) || 10;
|
||
|
|
return {
|
||
|
|
code: 200,
|
||
|
|
msg: 'success',
|
||
|
|
data: buildMockUserListPage(page, limit),
|
||
|
|
};
|
||
|
|
}
|
||
|
|
return get('/manager/user/page', params as Record<string, any>);
|
||
|
|
}
|
||
|
|
|
||
|
|
/**
|
||
|
|
* 用户管理 - 启用/禁用
|
||
|
|
* POST /admin/manager/user/active → /manager/user/active
|
||
|
|
*/
|
||
|
|
export function toggleUserActive(
|
||
|
|
params: UserActiveParams,
|
||
|
|
): Promise<ApiResult<Record<string, never>>> {
|
||
|
|
return post('/manager/user/active', params);
|
||
|
|
}
|