diff --git a/server/skillhub-app/src/main/resources/messages_zh.properties b/server/skillhub-app/src/main/resources/messages_zh.properties index cdaddc73..06cfc8e0 100644 --- a/server/skillhub-app/src/main/resources/messages_zh.properties +++ b/server/skillhub-app/src/main/resources/messages_zh.properties @@ -95,8 +95,8 @@ error.deviceAuth.userCode.invalid=无效或已过期的用户验证码 error.deviceAuth.deviceCode.expired=设备验证码已过期 error.deviceAuth.deviceCode.invalid=设备验证码无效或已过期 error.deviceAuth.deviceCode.used=设备验证码已被使用 -error.admin.user.notFound=鐢ㄦ埛涓嶅瓨鍦細{0} -error.admin.user.role.invalid=鏃犳晥鐨勮鑹诧細{0} -error.admin.user.role.superAdmin.assignDenied=鍙湁 SUPER_ADMIN 鍙互鍒嗛厤 SUPER_ADMIN 瑙掕壊 -error.admin.user.status.invalid=鏃犳晥鐨勭敤鎴风姸鎬侊細{0} -error.admin.user.status.unsupported=杩欓噷鍙厑璁告寜 ACTIVE 鎴?DISABLED 绠$悊鐢ㄦ埛鐘舵€? +error.admin.user.notFound=用户不存在:{0} +error.admin.user.role.invalid=无效的角色:{0} +error.admin.user.role.superAdmin.assignDenied=只有 SUPER_ADMIN 可以分配 SUPER_ADMIN 角色 +error.admin.user.status.invalid=无效的用户状态:{0} +error.admin.user.status.unsupported=这里只允许管理 ACTIVE 或 DISABLED 状态的用户 diff --git a/web/src/api/client.ts b/web/src/api/client.ts index 54ee7908..5e1a3e7b 100644 --- a/web/src/api/client.ts +++ b/web/src/api/client.ts @@ -13,7 +13,6 @@ import type { MergeVerifyRequest, ReviewTask, PromotionTask, - AdminUser, AuditLogItem, SkillSummary, AuthMethod, @@ -564,9 +563,34 @@ export const adminApi = { if (params.status) searchParams.set('status', params.status) searchParams.set('page', String(params.page ?? 0)) searchParams.set('size', String(params.size ?? 20)) - return fetchJson<{ items: AdminUser[]; total: number; page: number; size: number }>( + const response = await fetchJson<{ + items: Array<{ + id: string + username: string + email?: string + platformRoles?: string[] + status: string + createdAt: string + }> + total: number + page: number + size: number + }>( `/api/v1/admin/users?${searchParams.toString()}`, ) + return { + ...response, + items: response.items + .filter((user) => user.id && user.username && user.status && user.createdAt) + .map((user) => ({ + userId: user.id, + username: user.username, + email: user.email, + platformRoles: user.platformRoles ?? [], + status: user.status, + createdAt: user.createdAt, + })), + } }, async updateUserRole(userId: string, role: string): Promise { diff --git a/web/src/pages/admin/users.tsx b/web/src/pages/admin/users.tsx index a2c51263..7b65e50b 100644 --- a/web/src/pages/admin/users.tsx +++ b/web/src/pages/admin/users.tsx @@ -240,7 +240,7 @@ export function AdminUsersPage() {