From 12d5a8776257f11e5588f217723155cb5d661ae5 Mon Sep 17 00:00:00 2001 From: smail Date: Sun, 30 Aug 2026 19:47:00 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BC=98=E5=8C=96=E6=95=B0=E6=8D=AE=E5=BA=93?= =?UTF-8?q?=E8=AE=BE=E7=BD=AE=E8=AF=B7=E6=B1=82=E6=B5=81=E7=A8=8B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- fe/src/views/Setup/Setup.js | 28 +++++++++++++++------------- fe/src/views/Setup/Setup.vue | 2 +- 2 files changed, 16 insertions(+), 14 deletions(-) diff --git a/fe/src/views/Setup/Setup.js b/fe/src/views/Setup/Setup.js index e6b20a3..c031a42 100644 --- a/fe/src/views/Setup/Setup.js +++ b/fe/src/views/Setup/Setup.js @@ -133,19 +133,21 @@ export function usePage() { }) const getDbConfig = () => { - http.post("/api/v1/setup", {"action": "get", "step": "database"}).then((res) => { + return http.post("/api/v1/setup", {"action": "get", "step": "database"}).then((res) => { if (res.errorNo !== 0) { - ElMessage.error(res.errorMsg) - } else { - dbSettings.type = res.data.db_type; - dbSettings.mode = res.data.db_mode || "dsn"; - dbSettings.dsn = res.data.db_dsn || ""; - dbSettings.user = res.data.db_user || ""; - dbSettings.host = res.data.db_host || "127.0.0.1"; - dbSettings.port = res.data.db_port || (dbSettings.type === "postgres" ? "5432" : "3306"); - dbSettings.password = ""; - dbSettings.name = res.data.db_name || "smail"; + throw new Error(res.errorMsg || lang.db_request_failed) } + dbSettings.type = res.data.db_type; + dbSettings.mode = res.data.db_mode || "dsn"; + dbSettings.dsn = res.data.db_dsn || ""; + dbSettings.user = res.data.db_user || ""; + dbSettings.host = res.data.db_host || "127.0.0.1"; + dbSettings.port = res.data.db_port || (dbSettings.type === "postgres" ? "5432" : "3306"); + dbSettings.password = ""; + dbSettings.name = res.data.db_name || "smail"; + }).catch((error) => { + databaseError.value = getDatabaseErrorMessage(error) + ElMessage.error(databaseError.value) }) } @@ -212,13 +214,13 @@ export function usePage() { "db_name": dbSettings.name } - http.post("/api/v1/setup", payload).then((res) => { + return http.post("/api/v1/setup", payload).then((res) => { if (res.errorNo !== 0) { databaseError.value = res.errorMsg || lang.db_init_failed ElMessage.error(databaseError.value) return } - getPassword().then(() => { + return getPassword().then(() => { ElMessage.success(lang.db_init_success) active.value++ }).catch((error) => { diff --git a/fe/src/views/Setup/Setup.vue b/fe/src/views/Setup/Setup.vue index 37a5767..44d2629 100644 --- a/fe/src/views/Setup/Setup.vue +++ b/fe/src/views/Setup/Setup.vue @@ -26,7 +26,7 @@ + :disabled="databaseLoading" @change="handleDbTypeChange">