diff --git a/packages/ui/src/main/window/mainWindow.ts b/packages/ui/src/main/window/mainWindow.ts index 2b0934f..03e5dae 100644 --- a/packages/ui/src/main/window/mainWindow.ts +++ b/packages/ui/src/main/window/mainWindow.ts @@ -102,6 +102,14 @@ export function createMainWindow(): void { // const currentExecutablePath = app.getPath('exe') // console.log(currentExecutablePath) + ipcMain.handle('prepare-run-geek-auto-start-chat-with-boss', async () => { + mainWindow?.webContents.send('locating-puppeteer-executable') + const puppeteerExecutable = await getAnyAvailablePuppeteerExecutable() + if (!puppeteerExecutable) { + return Promise.reject('NEED_TO_CHECK_RUNTIME_DEPENDENCIES') + } + mainWindow?.webContents.send('puppeteer-executable-is-located') + }) let subProcessOfPuppeteer: ChildProcess | null = null ipcMain.handle('run-geek-auto-start-chat-with-boss', async () => { diff --git a/packages/ui/src/renderer/src/page/Configuration/GeekAutoStartChatWithBoss.vue b/packages/ui/src/renderer/src/page/Configuration/GeekAutoStartChatWithBoss.vue index a0e794c..c42dd5e 100644 --- a/packages/ui/src/renderer/src/page/Configuration/GeekAutoStartChatWithBoss.vue +++ b/packages/ui/src/renderer/src/page/Configuration/GeekAutoStartChatWithBoss.vue @@ -50,28 +50,7 @@ const handleSubmit = async () => { await formRef.value!.validate() await electron.ipcRenderer.invoke('save-config-file-from-ui', JSON.stringify(formContent.value)) - try { - const res = await electron.ipcRenderer.invoke( - 'run-geek-auto-start-chat-with-boss', - JSON.stringify(formContent.value) - ) - - if (res.type === 'GEEK_AUTO_START_CHAT_WITH_BOSS_STARTED') { - router.replace('/geekAutoStartChatWithBoss/runningStatus') - } - } catch (err) { - if (err instanceof Error && err.message.includes('NEED_TO_CHECK_RUNTIME_DEPENDENCIES')) { - ElMessage.error({ - message: `核心组件损坏,正在尝试修复` - }) - const checkDependenciesResult = await electron.ipcRenderer.invoke('check-dependencies') - if (Object.values(checkDependenciesResult).includes(false)) { - router.replace('/') - // TODO: should continue interrupted task - } - } - console.error(err) - } + router.replace('/geekAutoStartChatWithBoss/prepareRun') } const handleSave = async () => { await formRef.value!.validate() diff --git a/packages/ui/src/renderer/src/page/GeekAutoStartChatWithBoss/PrepareRun.vue b/packages/ui/src/renderer/src/page/GeekAutoStartChatWithBoss/PrepareRun.vue new file mode 100644 index 0000000..f03326c --- /dev/null +++ b/packages/ui/src/renderer/src/page/GeekAutoStartChatWithBoss/PrepareRun.vue @@ -0,0 +1,29 @@ + + + diff --git a/packages/ui/src/renderer/src/page/GeekAutoStartChatWithBoss/RunningStatus.vue b/packages/ui/src/renderer/src/page/GeekAutoStartChatWithBoss/RunningStatus.vue index ff16b52..27daff8 100644 --- a/packages/ui/src/renderer/src/page/GeekAutoStartChatWithBoss/RunningStatus.vue +++ b/packages/ui/src/renderer/src/page/GeekAutoStartChatWithBoss/RunningStatus.vue @@ -14,7 +14,7 @@