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
+58
View File
@@ -0,0 +1,58 @@
/**
* Banner 管理 API
*/
import { get, post } from '@/utils/request';
import { USE_MOCK, MOCK_DELAY } from '@/config/mock';
import { MOCK_BANNER_LIST } from '@/config/mock/bannerList';
import type {
BannerListQueryParams,
BannerSaveParams,
BannerDelParams,
BannerActiveParams,
TournamentAdminBannerListVO,
ApiResult,
} from './types';
export type {
TournamentAdminBannerListVO,
BannerListQueryParams,
BannerSaveParams,
BannerDelParams,
BannerActiveParams,
ApiResult,
} from './types';
const delay = (ms: number) => new Promise<void>((resolve) => setTimeout(resolve, ms));
/** GET /manager/banner/list — Banner 列表 */
export async function getBannerList(
params: BannerListQueryParams,
): Promise<ApiResult<TournamentAdminBannerListVO[]>> {
if (USE_MOCK) {
await delay(MOCK_DELAY);
return { code: 200, msg: 'success', data: MOCK_BANNER_LIST };
}
return get('/manager/banner/list', params as Record<string, any>);
}
/** POST /manager/banner/del — 删除 Banner */
export function delBanner(id: string): Promise<ApiResult<Record<string, never>>> {
return post('/manager/banner/del', { id });
}
/** POST /manager/banner/save — 新增 Banner */
export function saveBanner(params: BannerSaveParams): Promise<ApiResult<Record<string, never>>> {
return post('/manager/banner/save', params);
}
/** POST /manager/banner/update 编辑 Banner */
export function updateBanner(params: BannerSaveParams): Promise<ApiResult<Record<string, never>>> {
return post('/manager/banner/update', params);
}
/** POST /manager/banner/active — 启用/禁用 Banner */
export function toggleBannerActive(
params: BannerActiveParams,
): Promise<ApiResult<Record<string, never>>> {
return post('/manager/banner/active', params);
}
+53
View File
@@ -0,0 +1,53 @@
/**
* Banner 管理 — 类型定义
*/
/** Banner 列表项 */
export interface TournamentAdminBannerListVO {
id: string;
img: string;
title: string;
type: string;
linkUrl: string;
area: string;
showTimeBegin: string;
showTimeEnd: string;
status: string;
createTime: string;
}
/** Banner 列表查询参数 */
export interface BannerListQueryParams {
title?: string;
status?: string;
}
/** Banner 新增/编辑请求 */
export interface BannerSaveParams {
id?: string;
img: string;
title: string;
type: string;
linkUrl: string;
area: string;
showTimeBegin: string;
showTimeEnd: string;
sort: string;
}
/** Banner 删除请求 */
export interface BannerDelParams {
id: string;
}
/** Banner 启用/禁用请求 */
export interface BannerActiveParams {
id: string;
status: string;
}
export interface ApiResult<T> {
code: number;
msg: string;
data: T;
}
+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;