优化数据库设置请求流程
Some checks are pending
Security Checks / security (push) Waiting to run

This commit is contained in:
smail 2026-08-30 19:47:00 +08:00
parent 0b10489728
commit 12d5a87762
2 changed files with 16 additions and 14 deletions

View File

@ -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) => {

View File

@ -26,7 +26,7 @@
<el-form label-width="120px">
<el-form-item :label="lang.type">
<el-select :placeholder="lang.db_select_ph" v-model="dbSettings.type"
@change="handleDbTypeChange">
:disabled="databaseLoading" @change="handleDbTypeChange">
<el-option label="MySQL" value="mysql"/>
<el-option label="SQLite3" value="sqlite"/>
<el-option label="PostgreSQL" value="postgres"/>