add loading status for auto detect browser

This commit is contained in:
geekgeekrun
2026-02-09 00:03:53 +08:00
parent 3077a0f68f
commit 37ad84ff46
@@ -15,7 +15,12 @@
> >
<div flex flex-1> <div flex flex-1>
<el-input v-model="formData.browserPath" /> <el-input v-model="formData.browserPath" />
<el-button type="primary" @click="autoDetectPuppeteerExecutable">自动检测</el-button> <el-button
type="primary"
:loading="isAutoDetectLoading"
@click="autoDetectPuppeteerExecutable"
>自动检测</el-button
>
<el-button :style="{ marginLeft: 0 }" @click="browserExecutableFile">浏览</el-button> <el-button :style="{ marginLeft: 0 }" @click="browserExecutableFile">浏览</el-button>
</div> </div>
</el-form-item> </el-form-item>
@@ -47,6 +52,7 @@
Google Chrome Google Chrome
官方网站找到浏览器下载页面来下载安装程序下载完毕后执行安装程序安装完成后点击上方<a 官方网站找到浏览器下载页面来下载安装程序下载完毕后执行安装程序安装完成后点击上方<a
href="javascript:;" href="javascript:;"
:loading="isAutoDetectLoading"
@click="autoDetectPuppeteerExecutable" @click="autoDetectPuppeteerExecutable"
>自动检测</a >自动检测</a
>按钮再次尝试目前2026.2.7已知 Chrome 最新版本为 144.0.7559.133 >按钮再次尝试目前2026.2.7已知 Chrome 最新版本为 144.0.7559.133
@@ -99,7 +105,7 @@ import debounce from 'lodash/debounce'
import { ElMessage } from 'element-plus' import { ElMessage } from 'element-plus'
import { gtagRenderer as baseGtagRenderer } from '@renderer/utils/gtag' import { gtagRenderer as baseGtagRenderer } from '@renderer/utils/gtag'
import { EXPECT_CHROMIUM_BUILD_ID } from '../../../../common/constant' import { EXPECT_CHROMIUM_BUILD_ID } from '../../../../common/constant'
import { sleep } from '@geekgeekrun/utils/sleep.mjs'
const { ipcRenderer } = electron const { ipcRenderer } = electron
useRouter() useRouter()
// const checkDependenciesResult = ref({}) // const checkDependenciesResult = ref({})
@@ -143,7 +149,11 @@ const rules = {
} }
} }
const isAutoDetectLoading = ref(false)
async function autoDetectPuppeteerExecutable() { async function autoDetectPuppeteerExecutable() {
isAutoDetectLoading.value = true
await sleep(50)
try {
const result = await ipcRenderer.invoke('get-any-available-puppeteer-executable', { const result = await ipcRenderer.invoke('get-any-available-puppeteer-executable', {
ignoreCached: true, ignoreCached: true,
noSave: true noSave: true
@@ -162,6 +172,9 @@ async function autoDetectPuppeteerExecutable() {
type: 'success', type: 'success',
grouping: true grouping: true
}) })
} finally {
isAutoDetectLoading.value = false
}
} }
async function browserExecutableFile() { async function browserExecutableFile() {