enhance ux

This commit is contained in:
geekgeekrun
2026-02-09 07:11:53 +08:00
parent 37ad84ff46
commit bfb4fa6e8d
4 changed files with 117 additions and 17 deletions

View File

@@ -264,6 +264,11 @@ const mainLoop = async () => {
bossCookies = readStorageFile('boss-cookies.json')
cookieCheckResult = checkCookieListFormat(bossCookies)
} catch (err) {
await dialog.showMessageBox({
type: `error`,
message: `登录状态无效`,
detail: `请重新登录Boss直聘`
})
sendToDaemon({
type: 'worker-to-gui-message',
data: {

View File

@@ -21,17 +21,17 @@
@click="autoDetectPuppeteerExecutable"
>自动检测</el-button
>
<el-button :style="{ marginLeft: 0 }" @click="browserExecutableFile">浏览</el-button>
<el-button :style="{ marginLeft: 0 }" @click="chooseExecutableFile">浏览</el-button>
</div>
</el-form-item>
</div>
<div flex-1 of-auto font-size-14px line-height-1.5em>
<div mt10px ml-auto mr-auto class="w-80%">
<div>常见问题</div>
<div>
<details>
<div class="faq-main">
<details class="faq-item">
<summary>不能自动检测到浏览器</summary>
<div ml12px class="color-#666">
<div class="faq-answer">
请尝试如下方案之一来处理
<ul pl1em m0>
<li>
@@ -55,7 +55,8 @@
:loading="isAutoDetectLoading"
@click="autoDetectPuppeteerExecutable"
>自动检测</a
>按钮再次尝试目前2026.2.7已知 Chrome 最新版本为 144.0.7559.133
>按钮再次尝试截至本程序开发时2026.2.7Google Chrome 最新版本为
144.0.7559.133
多数情况下本程序都可以正常工作但由于浏览器会自动升级版本不固定可能存在<span
color-orange
>浏览器升级后某些功能不兼容导致本程序不能正确运行</span
@@ -68,6 +69,79 @@
</ul>
</div>
</details>
<details class="faq-item">
<summary>
如果我要自定义浏览器那么可选择的浏览器有哪些对于浏览器有什么要求
</summary>
<div class="faq-answer">
<div>
截至本程序开发时2026.2.7已确定支持的各操作系统下的浏览器及版本包括
</div>
<ul>
<li>
<div>macOS</div>
<ul>
<li>Google Chrome for Testing {{ EXPECT_CHROMIUM_BUILD_ID }}</li>
<li>Google Chrome 144.0.7559.133</li>
<li>Microsoft Edge 144.0.3719.115</li>
</ul>
</li>
<li>
<div>Windows</div>
<ul>
<li>Google Chrome for Testing {{ EXPECT_CHROMIUM_BUILD_ID }}</li>
<li>Google Chrome 144.0.7559.133</li>
<li>Microsoft Edge 144.0.3719.93</li>
<li>Opera 127.0.5778.14基于 Chromium 143.0.7499.194</li>
<li>Yandex Browser 25.12.3.1126 基于 Chromium 142.0.7444.1126</li>
</ul>
</li>
<li>
<div>Linux (Ubuntu)</div>
<ul>
<li>Google Chrome for Testing {{ EXPECT_CHROMIUM_BUILD_ID }}</li>
</ul>
</li>
</ul>
<div>
下列浏览器可以使用但由于Chromium内核版本低于本程序设置的版本可能存在潜在问题不一定能完全支持所有功能你可以尝试进行配置
</div>
<ul>
<li>
<div>Windows</div>
<ul>
<li>360 安全浏览器 16.1.2552.64 基于 Chromium 132.0.6834.83</li>
<li>360 极速浏览器X 23.1.1187.64 基于 Chromium 132.0.6805.0</li>
<li>夸克 6.4.0.728 基于 Chromium 130.0.6723.44</li>
</ul>
</li>
</ul>
<div>下列浏览器经过测试已明确不可用</div>
<ul>
<li>
<div>Windows</div>
<ul>
<li>QQ 浏览器 20.1.0 基于 Chromium 116.0.5845.97</li>
<li>搜狗高速浏览器 13.8 基于 Chromium 116.0.5845.97</li>
<li>猎豹浏览器基于 Chromium 112.0.5615.138</li>
<li>Brave 1.86.148 基于 Chromium 144.0.7559.133</li>
</ul>
</li>
</ul>
<div>
本程序目前仅支持 Chromium 内核浏览器因此 SafariFirefoxWindows Internet
Explorer旧版 Microsoft Edge <span color-orange
>非Chromium内核浏览器无法使用</span
>同时对于 Chromium 内核浏览器本程序<span color-orange
>仅支持
{{ EXPECT_CHROMIUM_BUILD_ID }}
或更高内核版本</span
>你可以打开在你想要尝试的浏览器访问 chrome://version” 找到 ”用户代理“ /
User Agent 行来查看当前浏览器的内核版本<br />
目前大部分中国大陆厂商发布的基于Chromium内核的浏览器均由于版本过低不被本程序支持
</div>
</div>
</details>
</div>
</div>
</div>
@@ -100,7 +174,7 @@
<script lang="ts" setup>
import { useRouter } from 'vue-router'
import { ref } from 'vue'
import { nextTick, ref } from 'vue'
import debounce from 'lodash/debounce'
import { ElMessage } from 'element-plus'
import { gtagRenderer as baseGtagRenderer } from '@renderer/utils/gtag'
@@ -172,12 +246,14 @@ async function autoDetectPuppeteerExecutable() {
type: 'success',
grouping: true
})
await nextTick()
await formRef.value.validateField()
} finally {
isAutoDetectLoading.value = false
}
}
async function browserExecutableFile() {
async function chooseExecutableFile() {
const chooseResult = await ipcRenderer.invoke('choose-file', {
fileChooserConfig: {
properties: ['openFile', 'treatPackageAsDirectory'],
@@ -194,6 +270,8 @@ async function browserExecutableFile() {
return
}
formData.value.browserPath = chooseResult.filePaths[0]
await nextTick()
await formRef.value.validateField()
}
ipcRenderer.invoke('get-last-used-and-available-browser').then((res) => {
@@ -239,4 +317,21 @@ a:hover,
a:active {
color: #409eff;
}
.faq-main {
.faq-item {
summary {
padding: 4px 0;
}
.faq-answer {
color: #666;
margin-left: 12px;
ul {
margin-top: 0;
margin-bottom: 0;
padding-left: 1em;
}
}
}
}
</style>

View File

@@ -1,8 +1,13 @@
<template>
<div class="h-screen of-hidden flex flex-col flex-items-center flex-justify-center">
<div>
<div>你可能是第一次安装本程序</div>
<div>正在查找可用浏览器请稍等...</div>
<div>
由于您是首次使用本程序或者您之前配置的浏览器被卸载/被删除/被移动/被更新/版本太旧因此需要重新配置浏览器
</div>
<div>
首先将尝试自动配置自动配置成功后本对话框将自动关闭如自动配置失败请在下个页面中手动配置
</div>
<div>正在尝试自动配置请稍等...</div>
</div>
</div>
</template>

View File

@@ -1,13 +1,8 @@
<template>
<div class="cookie-assistant-page">
<div ml1em mt1em mb1em font-size-16px>Boss 登录助手</div>
<el-alert
v-if="cookieInvalid"
type="warning"
:closable="false"
title="需要获取您的Boss直聘Cookie才能继续"
>
由于您是首次使用本程序或者您之前使用的Boss直聘账号登录状态失效因此您需要重新获取登录凭证
<el-alert v-if="cookieInvalid" type="warning" :closable="false">
由于您是首次使用本程序或者您之前使用的Boss直聘账号登录状态失效因此您需要重新获取登录凭证
</el-alert>
<div ml1em mt1em line-height-normal>
如果您了解如何获取Cookie了解有效的Cookie格式可以直接在下方输入框中进行编辑由于手动编辑较为麻烦建议您打开已登录过Boss直聘的浏览器使用<a
@@ -98,7 +93,7 @@
</el-form-item>
</el-form>
<footer flex mt20px pb20px flex-justify-end>
<el-button v-if="!cookieInvalid" @click="handleCancel">取消</el-button>
<el-button @click="handleCancel">取消</el-button>
<el-button type="primary" @click="handleSubmit">确定</el-button>
</footer>
</div>