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({