feat: 对接用户列表字段数据

This commit is contained in:
ZhuRui
2026-07-30 11:16:40 +08:00
parent fee0af174e
commit 14f6af35d8
5 changed files with 399 additions and 85 deletions
+53
View File
@@ -0,0 +1,53 @@
/**
* 用户管理 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);
}
+59
View File
@@ -0,0 +1,59 @@
/**
* 用户管理 — 类型定义
* 对应 OpenAPI: /admin/manager/user/page
*/
/** 用户列表项 */
export interface TournamentAdminUserPageVO {
/** 用户ID(接口实际返回 string */
id: string;
/** 昵称 */
nickname: string;
/** 手机号 */
phone: string;
/** 真实姓名 */
realName: string;
/** 证件号 */
idCard: string;
/** 证件号图片 */
idCardImg: string;
/** 证件号图片列表 */
idCardImgList: string[];
/** 状态;0=禁用、1=正常(接口实际返回 string) */
status: string;
/** 创建时间 */
createTime: string;
}
/** 用户列表查询参数 */
export interface UserListQueryParams {
page?: string;
limit?: string;
/** 用户昵称 */
nickname?: string;
/** 用户手机号 */
phone?: string;
/** 状态;不传=全部、0=禁用、1=正常 */
status?: string;
}
/** 启用/禁用请求参数 */
export interface UserActiveParams {
/** 用户ID */
userId: string;
/** 0=禁用、1=正常 */
status: string;
}
/** 分页数据 */
export interface PageData<T> {
total: number;
list: T[];
}
/** 统一响应包裹 */
export interface ApiResult<T> {
code: number;
msg: string;
data: T;
}