diff --git a/src/modules/user/UserListView.vue b/src/modules/user/UserListView.vue index 8b4f01d..67357e3 100644 --- a/src/modules/user/UserListView.vue +++ b/src/modules/user/UserListView.vue @@ -249,12 +249,13 @@ async function batchDelete() { try { await ElMessageBox.confirm(`确认删除已选 ${selectedIds.value.length} 个用户?该操作不可恢复`, '批量删除确认', { type: 'warning' }) } catch { return } - let ok = 0 - for (const id of selectedIds.value) { - try { await httpPost('/user/user/delete', { id }); ok++ } catch {/* 单条跳过 */} - } - ElMessage.success(`已删除 ${ok} 个用户`) - load() + // 后端 delete 接口签名是 (@RequestBody Long[] ids), 一次传数组 (避免 N 次循环) + try { + await httpPost('/user/user/delete', selectedIds.value) + ElMessage.success(`已删除 ${selectedIds.value.length} 个用户`) + selectedIds.value = [] + load() + } catch (e: any) { ElMessage.error(e?.msg || e?.message || '批量删除失败') } } async function toggleEnabled(row: FrontUser) { @@ -271,7 +272,8 @@ async function toggleEnabled(row: FrontUser) { async function deleteUser(row: FrontUser) { try { await ElMessageBox.confirm(`确认删除用户「${row.nickName}」?该操作不可恢复`, '删除确认', { type: 'warning' }) } catch { return } try { - await httpPost('/user/user/delete', { id: row.id }) + // 后端 delete 接口签名是 (@RequestBody Long[] ids), 需要传数组 + await httpPost('/user/user/delete', [row.id]) ElMessage.success('删除成功') load() } catch (e: any) { ElMessage.error(e?.msg || e?.message || '删除失败') }