From 437e41f06d2f8e27a62d80794b352f38c44ac41a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=8D=A1=E8=8B=A5?= Date: Sun, 8 Mar 2026 09:13:47 +0800 Subject: [PATCH] =?UTF-8?q?sync:=20soul-admin=20=E9=A1=B5=E9=9D=A2=20|=20?= =?UTF-8?q?=E5=8E=9F=E5=9B=A0:=20=E5=89=8D=E7=AB=AF=E9=A1=B5=E9=9D=A2?= =?UTF-8?q?=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- soul-admin/src/pages/users/UsersPage.tsx | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/soul-admin/src/pages/users/UsersPage.tsx b/soul-admin/src/pages/users/UsersPage.tsx index 68d8cf3c..88ba59c1 100644 --- a/soul-admin/src/pages/users/UsersPage.tsx +++ b/soul-admin/src/pages/users/UsersPage.tsx @@ -157,13 +157,21 @@ export function UsersPage() { if (rfmSortMode) { // RFM 排序模式:从 RFM 接口获取 const params = new URLSearchParams({ search: debouncedSearch, limit: String(pageSize * 5) }) - const data = await get<{ success?: boolean; users?: User[] }>(`/api/db/users/rfm?${params}`) + const data = await get<{ success?: boolean; users?: User[]; error?: string }>(`/api/db/users/rfm?${params}`) if (data?.success) { let list = data.users || [] if (rfmSortDir === 'asc') list = [...list].reverse() const start = (page - 1) * pageSize setUsers(list.slice(start, start + pageSize)) setTotal(data.users?.length ?? 0) + if (list.length === 0) { + // 暂无订单数据,退回普通模式 + setRfmSortMode(false) + setError('暂无订单数据,RFM 排序需要用户有购买记录后才能生效') + } + } else { + setRfmSortMode(false) + setError(data?.error || 'RFM 加载失败,已切回普通模式') } } else { const params = new URLSearchParams({