Files
cpms_operation_platform/src/api/users/index.ts
T

69 lines
2.1 KiB
TypeScript
Raw Normal View History

2026-07-30 11:16:40 +08:00
/**
* 用户管理 API
*/
import { get, post } from '@/utils/request';
import { USE_MOCK, MOCK_DELAY } from '@/config/mock';
import { buildMockUserListPage } from '@/config/mock/userList';
import type {
UserListQueryParams,
2026-07-30 15:43:24 +08:00
UserSaveParams,
UserUpdateParams,
2026-07-30 11:16:40 +08:00
UserActiveParams,
2026-07-30 15:43:24 +08:00
UserUpdatePwdParams,
TournamentAdminUserVO,
2026-07-30 11:16:40 +08:00
PageData,
ApiResult,
} from './types';
export type {
2026-07-30 15:43:24 +08:00
TournamentAdminUserVO,
2026-07-30 11:16:40 +08:00
UserListQueryParams,
2026-07-30 15:43:24 +08:00
UserSaveParams,
UserUpdateParams,
2026-07-30 11:16:40 +08:00
UserActiveParams,
2026-07-30 15:43:24 +08:00
UserUpdatePwdParams,
2026-07-30 11:16:40 +08:00
PageData,
ApiResult,
} from './types';
2026-07-30 15:43:24 +08:00
const delay = (ms: number) => new Promise<void>((r) => setTimeout(r, ms));
2026-07-30 11:16:40 +08:00
/** GET /admin/sys/user/page — 用户分页 */
2026-07-30 11:16:40 +08:00
export async function getUserList(
params: UserListQueryParams,
2026-07-30 15:43:24 +08:00
): Promise<ApiResult<PageData<TournamentAdminUserVO>>> {
2026-07-30 11:16:40 +08:00
if (USE_MOCK) {
await delay(MOCK_DELAY);
const page = Number(params.page) || 1;
const limit = Number(params.limit) || 10;
2026-07-30 15:43:24 +08:00
return { code: 200, msg: 'success', data: buildMockUserListPage(page, limit) };
2026-07-30 11:16:40 +08:00
}
return get('/admin/sys/user/page', params as Record<string, any>);
2026-07-30 11:16:40 +08:00
}
2026-07-30 15:43:24 +08:00
/** POST /sys/user/save — 新增用户 */
export function saveUser(params: UserSaveParams): Promise<ApiResult<Record<string, never>>> {
if (USE_MOCK) return delay(MOCK_DELAY).then(() => ({ code: 200, msg: 'success', data: {} }));
return post('/sys/user/save', params);
}
/** POST /sys/user/update — 更新用户 */
export function updateUser(params: UserUpdateParams): Promise<ApiResult<Record<string, never>>> {
if (USE_MOCK) return delay(MOCK_DELAY).then(() => ({ code: 200, msg: 'success', data: {} }));
return post('/sys/user/update', params);
}
/** POST /sys/user/active — 启用/禁用(直接调接口) */
2026-07-30 11:16:40 +08:00
export function toggleUserActive(
params: UserActiveParams,
): Promise<ApiResult<Record<string, never>>> {
2026-07-30 15:43:24 +08:00
return post('/sys/user/active', params);
}
/** POST /sys/user/updatepwd — 修改密码(直接调接口) */
export function updateUserPwd(
params: UserUpdatePwdParams,
): Promise<ApiResult<Record<string, never>>> {
return post('/sys/user/updatepwd', params);
2026-07-30 11:16:40 +08:00
}