diff --git a/frontend/src/components/initialization/ManualMode.vue b/frontend/src/components/initialization/ManualMode.vue
index 0c32021..d82e85b 100644
--- a/frontend/src/components/initialization/ManualMode.vue
+++ b/frontend/src/components/initialization/ManualMode.vue
@@ -82,24 +82,15 @@
{{ getNextButtonText() }}
-
+
- 启动服务
-
-
-
-
- 进入应用
+ 重新启动服务
@@ -261,7 +252,7 @@ function getNextButtonText() {
}
}
-// 自动开始测速
+// 自动开始测速和自动启动服务
async function autoStartSpeedTest() {
// 延迟一下确保组件已经挂载
setTimeout(async () => {
@@ -284,6 +275,10 @@ async function autoStartSpeedTest() {
await dependenciesStepRef.value.testPipMirrorSpeed()
}
break
+ case 6: // 启动服务 - 自动启动后端
+ console.log('进入第七步,自动启动后端服务')
+ await autoStartBackendService()
+ break
}
}, 500) // 延迟500ms确保组件完全加载
}
@@ -365,13 +360,16 @@ async function installDependencies() {
}
}
-async function startBackendService() {
- logger.info('开始启动后端服务')
+// 自动启动后端服务(进入第七步时调用)
+async function autoStartBackendService() {
+ logger.info('自动启动后端服务')
+ isProcessing.value = true
+ errorMessage.value = ''
if (serviceStepRef.value) {
serviceStepRef.value.startingService = true
serviceStepRef.value.showServiceProgress = true
- serviceStepRef.value.serviceStatus = '正在启动后端服务...'
+ serviceStepRef.value.serviceStatus = '正在自动启动后端服务...'
}
try {
@@ -379,19 +377,69 @@ async function startBackendService() {
if (result.success) {
if (serviceStepRef.value) {
serviceStepRef.value.serviceProgress = 100
- serviceStepRef.value.serviceStatus = '后端服务启动成功'
+ serviceStepRef.value.serviceStatus = '后端服务启动成功,即将进入主页...'
}
stepStatus.value = 'finish'
- logger.info('后端服务启动成功')
+ logger.info('后端服务自动启动成功,延迟1秒后自动进入主页')
+
+ // 延迟1秒后自动进入主页
+ setTimeout(() => {
+ handleEnterApp()
+ }, 1000)
} else {
- logger.error('后端服务启动失败', result.error)
+ logger.error('后端服务自动启动失败', result.error)
+ if (serviceStepRef.value) {
+ serviceStepRef.value.serviceStatus = '后端服务启动失败,请点击重新启动'
+ }
+ errorMessage.value = `后端服务启动失败: ${result.error}`
+ }
+ } catch (error) {
+ if (serviceStepRef.value) {
+ serviceStepRef.value.serviceStatus = '后端服务启动失败,请点击重新启动'
+ }
+ logger.error('后端服务自动启动异常', error)
+ errorMessage.value = error instanceof Error ? error.message : String(error)
+ } finally {
+ if (serviceStepRef.value) {
+ serviceStepRef.value.startingService = false
+ }
+ isProcessing.value = false
+ }
+}
+
+// 手动启动后端服务(用户点击按钮时调用)
+async function startBackendService() {
+ logger.info('手动重新启动后端服务')
+
+ if (serviceStepRef.value) {
+ serviceStepRef.value.startingService = true
+ serviceStepRef.value.showServiceProgress = true
+ serviceStepRef.value.serviceStatus = '正在重新启动后端服务...'
+ }
+
+ try {
+ const result = await window.electronAPI.startBackend()
+ if (result.success) {
+ if (serviceStepRef.value) {
+ serviceStepRef.value.serviceProgress = 100
+ serviceStepRef.value.serviceStatus = '后端服务启动成功,即将进入主页...'
+ }
+ stepStatus.value = 'finish'
+ logger.info('后端服务手动启动成功,延迟1秒后自动进入主页')
+
+ // 延迟1秒后自动进入主页
+ setTimeout(() => {
+ handleEnterApp()
+ }, 1000)
+ } else {
+ logger.error('后端服务手动启动失败', result.error)
throw new Error(result.error)
}
} catch (error) {
if (serviceStepRef.value) {
serviceStepRef.value.serviceStatus = '后端服务启动失败'
}
- logger.error('后端服务启动异常', error)
+ logger.error('后端服务手动启动异常', error)
throw error
} finally {
if (serviceStepRef.value) {