feat: 对接用户列表字段数据
This commit is contained in:
@@ -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);
|
||||
}
|
||||
@@ -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;
|
||||
}
|
||||
Reference in New Issue
Block a user