From 37ad84ff463fa7381f6558b10b5492eba6ddc44c Mon Sep 17 00:00:00 2001 From: geekgeekrun Date: Mon, 9 Feb 2026 00:03:53 +0800 Subject: [PATCH] add loading status for auto detect browser --- .../src/page/BrowserAssistant/index.vue | 45 ++++++++++++------- 1 file changed, 29 insertions(+), 16 deletions(-) diff --git a/packages/ui/src/renderer/src/page/BrowserAssistant/index.vue b/packages/ui/src/renderer/src/page/BrowserAssistant/index.vue index 6aa185e..ad391fa 100644 --- a/packages/ui/src/renderer/src/page/BrowserAssistant/index.vue +++ b/packages/ui/src/renderer/src/page/BrowserAssistant/index.vue @@ -15,7 +15,12 @@ >
- 自动检测 + 自动检测 浏览
@@ -47,6 +52,7 @@ Google Chrome 官方网站,找到浏览器下载页面来下载安装程序。下载完毕后,执行安装程序。安装完成后,点击上方自动检测按钮再次尝试。目前(2026.2.7)已知 Chrome 最新版本为 144.0.7559.133 @@ -99,7 +105,7 @@ import debounce from 'lodash/debounce' import { ElMessage } from 'element-plus' import { gtagRenderer as baseGtagRenderer } from '@renderer/utils/gtag' import { EXPECT_CHROMIUM_BUILD_ID } from '../../../../common/constant' - +import { sleep } from '@geekgeekrun/utils/sleep.mjs' const { ipcRenderer } = electron useRouter() // const checkDependenciesResult = ref({}) @@ -143,25 +149,32 @@ const rules = { } } +const isAutoDetectLoading = ref(false) async function autoDetectPuppeteerExecutable() { - const result = await ipcRenderer.invoke('get-any-available-puppeteer-executable', { - ignoreCached: true, - noSave: true - }) - if (!result) { + isAutoDetectLoading.value = true + await sleep(50) + try { + const result = await ipcRenderer.invoke('get-any-available-puppeteer-executable', { + ignoreCached: true, + noSave: true + }) + if (!result) { + ElMessage({ + message: '未检测到可用浏览器的可执行文件', + type: 'warning', + grouping: true + }) + return + } + formData.value.browserPath = result.executablePath ElMessage({ - message: '未检测到可用浏览器的可执行文件', - type: 'warning', + message: '已找到可用浏览器,可执行文件路径已填入输入框', + type: 'success', grouping: true }) - return + } finally { + isAutoDetectLoading.value = false } - formData.value.browserPath = result.executablePath - ElMessage({ - message: '已找到可用浏览器,可执行文件路径已填入输入框', - type: 'success', - grouping: true - }) } async function browserExecutableFile() {