From 72b77306da2465634830ac585d6c6e6e2faceea0 Mon Sep 17 00:00:00 2001 From: erio Date: Fri, 10 Apr 2026 01:28:54 +0800 Subject: [PATCH] fix(admin): reload provider list after save to get correct data format UpdateProvider API returns raw DB entity (encrypted config, string types), but frontend needs ProviderInstanceResponse (decrypted, array types). Reload full list after save to ensure correct data and sort order. --- backend/cmd/server/VERSION | 2 +- frontend/src/views/admin/SettingsView.vue | 8 +++----- 2 files changed, 4 insertions(+), 6 deletions(-) diff --git a/backend/cmd/server/VERSION b/backend/cmd/server/VERSION index a04cee1801..a603441f19 100644 --- a/backend/cmd/server/VERSION +++ b/backend/cmd/server/VERSION @@ -1 +1 @@ -0.1.108.145 +0.1.108.146 diff --git a/frontend/src/views/admin/SettingsView.vue b/frontend/src/views/admin/SettingsView.vue index 2d8bd45fef..85f168521b 100644 --- a/frontend/src/views/admin/SettingsView.vue +++ b/frontend/src/views/admin/SettingsView.vue @@ -2923,15 +2923,13 @@ async function handleSaveProvider(payload: Partial) { providerSaving.value = true try { if (editingProvider.value) { - const updated = await adminAPI.payment.updateProvider(editingProvider.value.id, payload) - // Update in place to preserve list order - const idx = providers.value.findIndex(p => p.id === editingProvider.value!.id) - if (idx >= 0 && updated.data) providers.value[idx] = updated.data + await adminAPI.payment.updateProvider(editingProvider.value.id, payload) } else { await adminAPI.payment.createProvider(payload) - loadProviders() } showProviderDialog.value = false + // Reload full list (API returns decrypted/formatted data with correct sort order) + await loadProviders() // Auto-save settings so provider changes take effect immediately await saveSettings() } catch (err: unknown) {