feat: 对接用户管理相关接口字段

This commit is contained in:
ZhuRui
2026-07-30 15:43:24 +08:00
parent 14f6af35d8
commit 7276425abf
18 changed files with 1225 additions and 821 deletions
+34 -19
View File
@@ -6,48 +6,63 @@ import { USE_MOCK, MOCK_DELAY } from '@/config/mock';
import { buildMockUserListPage } from '@/config/mock/userList';
import type {
UserListQueryParams,
UserSaveParams,
UserUpdateParams,
UserActiveParams,
TournamentAdminUserPageVO,
UserUpdatePwdParams,
TournamentAdminUserVO,
PageData,
ApiResult,
} from './types';
export type {
TournamentAdminUserPageVO,
TournamentAdminUserVO,
UserListQueryParams,
UserSaveParams,
UserUpdateParams,
UserActiveParams,
UserUpdatePwdParams,
PageData,
ApiResult,
} from './types';
const delay = (ms: number) => new Promise<void>((resolve) => setTimeout(resolve, ms));
const delay = (ms: number) => new Promise<void>((r) => setTimeout(r, ms));
/**
* 用户管理 - 用户分页
* GET /admin/manager/user/page → /manager/user/page
*/
/** GET /sys/user/page — 用户分页 */
export async function getUserList(
params: UserListQueryParams,
): Promise<ApiResult<PageData<TournamentAdminUserPageVO>>> {
): Promise<ApiResult<PageData<TournamentAdminUserVO>>> {
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 { code: 200, msg: 'success', data: buildMockUserListPage(page, limit) };
}
return get('/manager/user/page', params as Record<string, any>);
return get('/sys/user/page', params as Record<string, any>);
}
/**
* 用户管理 - 启用/禁用
* POST /admin/manager/user/active → /manager/user/active
*/
/** 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 — 启用/禁用(直接调接口) */
export function toggleUserActive(
params: UserActiveParams,
): Promise<ApiResult<Record<string, never>>> {
return post('/manager/user/active', params);
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);
}
+41 -29
View File
@@ -1,57 +1,69 @@
/**
* 用户管理 — 类型定义
* 对应 OpenAPI: /admin/manager/user/page
* 对应 OpenAPI: /admin/sys/user/*
*/
/** 用户列表项 */
export interface TournamentAdminUserPageVO {
/** 用户ID(接口实际返回 string */
export interface TournamentAdminUserVO {
id: string;
/** 昵称 */
nickname: string;
/** 手机号 */
phone: string;
/** 真实姓名 */
/** 用户姓名 */
realName: string;
/** 证件号 */
idCard: string;
/** 证件号图片 */
idCardImg: string;
/** 证件号图片列表 */
idCardImgList: string[];
/** 状态;0=禁用、1=正常(接口实际返回 string) */
phone: string;
/** 角色名称 */
roleName: string;
/** 角色ID(编辑时需要回显,列表可能不返回) */
roleId?: string;
/** 状态;0=停用、1=正常(接口实际返回 string) */
status: string;
/** 创建时间 */
createTime: string;
}
/** 用户列表查询参数 */
export interface UserListQueryParams {
page?: string;
limit?: string;
/** 用户昵称 */
nickname?: string;
/** 用户手机号 */
phone?: string;
/** 状态;不传=全部、0=用、1=正常 */
/** 用户姓名或手机号 */
text?: string;
/** 角色ID */
roleId?: string;
/** 状态;不传=全部、0=用、1=正常 */
status?: string;
}
/** 启用/禁用请求参数 */
/** 新增用户 — POST /admin/sys/user/save */
export interface UserSaveParams {
realName: string;
phone: string;
roleId: string;
password: string;
confirmPassword: string;
}
/** 更新用户 — POST /admin/sys/user/update */
export interface UserUpdateParams {
id: string;
realName: string;
phone: string;
roleId: string;
password?: string;
confirmPassword?: string;
}
/** 启用/禁用 — POST /admin/sys/user/active */
export interface UserActiveParams {
/** 用户ID */
userId: string;
/** 0=禁用、1=正常 */
/** 0=禁用、1=启用 */
status: string;
}
/** 分页数据 */
/** 修改密码 — POST /admin/sys/user/updatepwd */
export interface UserUpdatePwdParams {
password: string;
confirmPassword: string;
}
export interface PageData<T> {
total: number;
list: T[];
}
/** 统一响应包裹 */
export interface ApiResult<T> {
code: number;
msg: string;