document.addEventListener('DOMContentLoaded', () => { const hostInput = document.getElementById('host'); const portInput = document.getElementById('port'); const userInput = document.getElementById('user'); const passwordInput = document.getElementById('password'); const databaseInput = document.getElementById('database'); const btnTest = document.getElementById('btnTest'); const btnInit = document.getElementById('btnInit'); const messageBox = document.getElementById('messageBox'); function showMessage(msg, isError = false) { messageBox.textContent = msg; messageBox.className = 'form-message ' + (isError ? 'error' : 'success'); } btnTest.addEventListener('click', async () => { btnTest.disabled = true; const oldText = btnTest.textContent; btnTest.textContent = '测试中...'; try { const res = await fetch('/api/setup/test', { method: 'POST', headers: { 'Content-Type': 'application/json' }, body: JSON.stringify({ host: hostInput.value, port: portInput.value, user: userInput.value, password: passwordInput.value }) }); const data = await res.json(); if (data.success) { showMessage('连接成功!可以进行初始化。'); } else { showMessage('连接失败: ' + (data.error || '未知错误'), true); } } catch (err) { showMessage('请求失败: ' + err.message, true); } finally { btnTest.disabled = false; btnTest.textContent = oldText; } }); btnInit.addEventListener('click', async () => { btnInit.disabled = true; const oldText = btnInit.textContent; btnInit.textContent = '初始化中...'; try { const res = await fetch('/api/setup/init', { method: 'POST', headers: { 'Content-Type': 'application/json' }, body: JSON.stringify({ host: hostInput.value, port: portInput.value, user: userInput.value, password: passwordInput.value, database: databaseInput.value }) }); const data = await res.json(); if (data.success) { showMessage('初始化成功!即将跳转到系统首页面...'); setTimeout(() => { window.location.href = '/'; }, 1500); } else { showMessage('初始化失败: ' + (data.error || '未知错误'), true); btnInit.disabled = false; btnInit.textContent = oldText; } } catch (err) { showMessage('请求失败: ' + err.message, true); btnInit.disabled = false; btnInit.textContent = oldText; } }); });