From ea819fa7e44135f66f248b974f694ddb84937425 Mon Sep 17 00:00:00 2001 From: dark Date: Fri, 13 Feb 2026 21:42:58 +0800 Subject: [PATCH] =?UTF-8?q?fix:=20=E4=BF=AE=E5=A4=8D=20API=20=E6=95=B0?= =?UTF-8?q?=E6=8D=AE=E6=A0=BC=E5=BC=8F=E5=85=BC=E5=AE=B9=E6=80=A7=E9=97=AE?= =?UTF-8?q?=E9=A2=98=EF=BC=8C=E5=AE=8C=E6=88=90=20E2E=20CRUD=20=E6=B5=8B?= =?UTF-8?q?=E8=AF=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../pc/src/pages/UserManagementPage.tsx | 2 +- frontend/react-shadcn/pc/src/services/api.ts | 21 ++++++++++++++++++- frontend/react-shadcn/pc/src/types/index.ts | 2 +- 3 files changed, 22 insertions(+), 3 deletions(-) diff --git a/frontend/react-shadcn/pc/src/pages/UserManagementPage.tsx b/frontend/react-shadcn/pc/src/pages/UserManagementPage.tsx index 53bade3..21cc8ac 100644 --- a/frontend/react-shadcn/pc/src/pages/UserManagementPage.tsx +++ b/frontend/react-shadcn/pc/src/pages/UserManagementPage.tsx @@ -40,7 +40,7 @@ export function UserManagementPage() { setError(null) const response = await apiClient.getUsers({ page: 1, pageSize: 100 }) if (response.success && response.data) { - setUsers(response.data.users) + setUsers(response.data.list) } else { setError(response.message || '获取用户列表失败') setUsers([]) diff --git a/frontend/react-shadcn/pc/src/services/api.ts b/frontend/react-shadcn/pc/src/services/api.ts index 88355b6..6fb6930 100644 --- a/frontend/react-shadcn/pc/src/services/api.ts +++ b/frontend/react-shadcn/pc/src/services/api.ts @@ -98,7 +98,26 @@ class ApiClient { if (params.pageSize) queryParams.append('pageSize', params.pageSize.toString()) if (params.keyword) queryParams.append('keyword', params.keyword) - return this.request(`/users?${queryParams}`) + // 后端返回裸数据格式,需要包装成标准格式 + const rawData = await this.request<{ total: number; list: any[] }>(`/users?${queryParams}`) + + // 如果后端已经返回标准格式,直接返回 + if ('success' in rawData) { + return rawData as UserListResponse + } + + // 包装成标准格式 + return { + code: 200, + message: 'success', + success: true, + data: { + list: rawData.list || [], + total: rawData.total || 0, + page: params.page || 1, + pageSize: params.pageSize || 10, + }, + } } async getUser(id: number): Promise> { diff --git a/frontend/react-shadcn/pc/src/types/index.ts b/frontend/react-shadcn/pc/src/types/index.ts index b1061e0..b3a3658 100644 --- a/frontend/react-shadcn/pc/src/types/index.ts +++ b/frontend/react-shadcn/pc/src/types/index.ts @@ -64,7 +64,7 @@ export interface UserListResponse { message: string success: boolean data: { - users: User[] + list: User[] total: number page: number pageSize: number